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

Stefan Wahren stefan.wahren at i2se.com
Thu Nov 10 10:30:17 PST 2016


Hi Linus,

> Linus Walleij <linus.walleij at linaro.org> hat am 10. November 2016 um 18:35
> geschrieben:
> 
> 
> 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.

thanks for providing this patch. Unfortunately i don't have deeper knowledge
about the BCM2835, but there is patch downstream in the Foundation Kernel which
hasn't been upstreamed yet [1].

Does it collide with your intention?

[1] -
https://github.com/raspberrypi/linux/commit/a1da728d0c4efd36d361fd6252bd614ebfd51cd9



More information about the linux-rpi-kernel mailing list