[PATCH v3 0/3] spi: xilinx: switch to device properties and make IRQs optional

Abdurrahman Hussain via B4 Relay posted 3 patches 2 weeks, 6 days ago
Documentation/devicetree/bindings/spi/spi-xilinx.yaml |  1 -
drivers/spi/spi-xilinx.c                              | 12 ++++++------
2 files changed, 6 insertions(+), 7 deletions(-)
[PATCH v3 0/3] spi: xilinx: switch to device properties and make IRQs optional
Posted by Abdurrahman Hussain via B4 Relay 2 weeks, 6 days ago
Transition the driver to use the generic device property API.

Additionally, make interrupts optional to allow the driver to fall back
to its existing polling mode on systems where interrupts are either missing
or broken.

Abdurrahman Hussain (3):
  spi: xilinx: use device property accessors.
  spi: xilinx: make irq optional
  spi: dt-bindings: xilinx: make interrupts optional

 .../devicetree/bindings/spi/spi-xilinx.yaml          |  1 -
 drivers/spi/spi-xilinx.c                             | 12 ++++++------
 2 files changed, 6 insertions(+), 7 deletions(-)

--
2.52.0

base-commit: 944aacb68baf7624ab8d277d0ebf07f025ca137c
---
Abdurrahman Hussain (3):
      spi: dt-bindings: xilinx: make interrupts optional
      spi: xilinx: make irq optional
      spi: xilinx: use device property accessors.

 Documentation/devicetree/bindings/spi/spi-xilinx.yaml |  1 -
 drivers/spi/spi-xilinx.c                              | 12 ++++++------
 2 files changed, 6 insertions(+), 7 deletions(-)
---
base-commit: 944aacb68baf7624ab8d277d0ebf07f025ca137c
change-id: 20260118-spi-xilinx-1b884d5b6519

Best regards,
-- 
Abdurrahman Hussain <abdurrahman@nexthop.ai>
Re: (subset) [PATCH v3 0/3] spi: xilinx: switch to device properties and make IRQs optional
Posted by Mark Brown 2 weeks, 5 days ago
On Mon, 19 Jan 2026 07:06:21 +0000, Abdurrahman Hussain wrote:
> Transition the driver to use the generic device property API.
> 
> Additionally, make interrupts optional to allow the driver to fall back
> to its existing polling mode on systems where interrupts are either missing
> or broken.
> 
> Abdurrahman Hussain (3):
>   spi: xilinx: use device property accessors.
>   spi: xilinx: make irq optional
>   spi: dt-bindings: xilinx: make interrupts optional
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/3] spi: dt-bindings: xilinx: make interrupts optional
      commit: b603500de20fbe15ee54580481c1df4212a4ec44
[2/3] spi: xilinx: make irq optional
      commit: c3608162a95a259c669cf9fdccf900782fa8d902

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
Re: (subset) [PATCH v3 0/3] spi: xilinx: switch to device properties and make IRQs optional
Posted by Michal Simek 2 weeks, 4 days ago
Hi Mark

On 1/20/26 20:23, Mark Brown wrote:
> On Mon, 19 Jan 2026 07:06:21 +0000, Abdurrahman Hussain wrote:
>> Transition the driver to use the generic device property API.
>>
>> Additionally, make interrupts optional to allow the driver to fall back
>> to its existing polling mode on systems where interrupts are either missing
>> or broken.
>>
>> Abdurrahman Hussain (3):
>>    spi: xilinx: use device property accessors.
>>    spi: xilinx: make irq optional
>>    spi: dt-bindings: xilinx: make interrupts optional
>>
>> [...]
> 
> Applied to
> 
>     https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
> 
> Thanks!
> 
> [1/3] spi: dt-bindings: xilinx: make interrupts optional
>        commit: b603500de20fbe15ee54580481c1df4212a4ec44

Are you sure about this one based on my discussion with Rob in past?
https://lore.kernel.org/all/20250605130331.GA2370690-robh@kernel.org/

I don't really mind but would be good to do it in a consistent way.

Thanks,
Michal
Re: (subset) [PATCH v3 0/3] spi: xilinx: switch to device properties and make IRQs optional
Posted by Mark Brown 2 weeks, 4 days ago
On Wed, Jan 21, 2026 at 09:15:02AM +0100, Michal Simek wrote:
> On 1/20/26 20:23, Mark Brown wrote:

> > [1/3] spi: dt-bindings: xilinx: make interrupts optional
> >        commit: b603500de20fbe15ee54580481c1df4212a4ec44

> Are you sure about this one based on my discussion with Rob in past?
> https://lore.kernel.org/all/20250605130331.GA2370690-robh@kernel.org/

> I don't really mind but would be good to do it in a consistent way.

My understanding was that the hardware doesn't require physically wiring
up the interrupt signal and can work in a polling only mode.  That's not
unknown for SPI controllers.  If the interrupt is actually a strong
requirement for the hardware (and especially if it is actually wired up
on this system) then we should drop these patches.
Re: (subset) [PATCH v3 0/3] spi: xilinx: switch to device properties and make IRQs optional
Posted by Michal Simek 2 weeks, 4 days ago

On 1/21/26 12:39, Mark Brown wrote:
> On Wed, Jan 21, 2026 at 09:15:02AM +0100, Michal Simek wrote:
>> On 1/20/26 20:23, Mark Brown wrote:
> 
>>> [1/3] spi: dt-bindings: xilinx: make interrupts optional
>>>         commit: b603500de20fbe15ee54580481c1df4212a4ec44
> 
>> Are you sure about this one based on my discussion with Rob in past?
>> https://lore.kernel.org/all/20250605130331.GA2370690-robh@kernel.org/
> 
>> I don't really mind but would be good to do it in a consistent way.
> 
> My understanding was that the hardware doesn't require physically wiring
> up the interrupt signal and can work in a polling only mode.  That's not
> unknown for SPI controllers.  If the interrupt is actually a strong
> requirement for the hardware (and especially if it is actually wired up
> on this system) then we should drop these patches.

Keep in mind one thing. This is soft IP in fpga. If you connect in design IRQ 
you will have it. If you don't connect it, you don't have it.
 From HW perspective both of them are valid options.

It is up to everybody to decide if make sense to have IRQ logic or not.

This is the same for all soft IP cores which Xilinx is having.

 From SW perspective one OS can decide to use IRQ, another one not.

Then the question is if DT binding in Linux are targeting HW capability and 
configurations or describing Linux driver. I was said multiple times that it 
should describe HW not actually what Linux driver implements.

Thanks,
Michal
Re: (subset) [PATCH v3 0/3] spi: xilinx: switch to device properties and make IRQs optional
Posted by Mark Brown 2 weeks, 4 days ago
On Wed, Jan 21, 2026 at 01:26:04PM +0100, Michal Simek wrote:
> On 1/21/26 12:39, Mark Brown wrote:

> > My understanding was that the hardware doesn't require physically wiring
> > up the interrupt signal and can work in a polling only mode.  That's not
> > unknown for SPI controllers.  If the interrupt is actually a strong
> > requirement for the hardware (and especially if it is actually wired up
> > on this system) then we should drop these patches.

> Keep in mind one thing. This is soft IP in fpga. If you connect in design
> IRQ you will have it. If you don't connect it, you don't have it.
> From HW perspective both of them are valid options.

Yes, that's what I thought was happening - this means that it's valid to
not describe an interrupt for the device.  It's not like a primary clock
where the device simply won't function without it being wired up.

> Then the question is if DT binding in Linux are targeting HW capability and
> configurations or describing Linux driver. I was said multiple times that it
> should describe HW not actually what Linux driver implements.

Right, so if the hardware has an optional interrupt then the binding
should too.