On Thu, Jun 04, 2020 at 01:24:54PM -0700, Florian Fainelli wrote: > So we do need to know for the first time we install the interrupt > handler whether we will be in a shared situation or not, I cannot think > of any solution other than counting the number of available DT nodes > with the "brcm,bcm2835-spi" compatible string. In principle it would be possible to iterate over the entire DT using for_each_of_allnodes() and call of_irq_parse_one() on each device_node if it's enabled and not the one we're probing. Then check if any of that device_node's IRQs is identical to that of the device_node we're probing. That would give you a generic method to test for sharedness of an interrupt. However the solution you've found is simpler and cheaper than such a brute-force search, hence seems perfectly valid to me. > I appreciate that > Lukas has spent some tremendous amount of time working on this > controller driver and he has a sensitivity for performance. Thanks! Indeed I think spi-bcm2835.c is by now among the best performing and most featureful SPI drivers in the kernel. I've recently had a discussion on netdev with someone testing an SPI-attached Ethernet chip on iMX6Q and on STM32MP1 and couldn't get it to work. With a BCM2837 no problem at all: https://lore.kernel.org/netdev/ac0f7227-a4ae-b6cd-36ec-3bcb02b1adbe@xxxxxxx/ Lukas