On Mon, Nov 14, 2016 at 6:52 PM, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > 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. > > Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> > Cc: Stefan Wahren <stefan.wahren@xxxxxxxx> > Cc: Eric Anholt <eric@xxxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > ChangeLog v2->v3: > - Rebase on top of the two new patches from the vendor tree. > ChangeLog v1->v2: > - Forgot to convert the driver to chained IRQ handler. Now fixed. > > Rpi folks: I have no clue if this works or not, but would be happy > if you could test it to see if IRQs fire as expected and provide > some feedback. Any testers? I'm getting tempted to just apply it to get test coverage, at the cost of having to revert it if it just explodes... Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html