[PATCH v3] RFC: pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP

Eric Anholt eric at anholt.net
Tue Nov 29 16:22:28 PST 2016


Linus Walleij <linus.walleij at linaro.org> writes:

> It should be possible to use the GPIOLIB_IRQCHIP helper
> library with the BCM2835 driver since it is a pretty straight
> forward cascaded irqchip.
>
> The only difference from other drivers is that the BCM2835
> has several banks for a single gpiochip, and each bank has
> a separate IRQ line. Instead of creating one gpiochip per
> bank, a single gpiochip covers all banks GPIO lines. This
> makes it necessary to resolve the bank ID in the IRQ
> handler.
>
> The GPIOLIB_IRQCHIP allows several IRQs to be cascaded off
> the same gpiochip by calling gpiochip_set_chained_irqchip()
> repeatedly, but we have been a bit short on examples
> for how this should be handled in practice, so this is intended
> as an example of how this can be achieved.
>
> The old code did not model the chip as a chained interrupt
> handler, but this patch also rectifies that situation.

I went ahead and put together a little bit of test code for HDMI to
collect hotplug interrupts.  By registering the GPIO IRQ from the
driver, I'm seeing my line in /proc/interrupts and its count increments
when I plug/unplug.  Given that, feel free to apply:

Tested-by: Eric Anholt <eric at anholt.net>
Acked-by: Eric Anholt <eric at anholt.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-rpi-kernel/attachments/20161129/448d02a9/attachment.sig>


More information about the linux-rpi-kernel mailing list