Re: [PATCH 2/2] gpio: Add xgs-iproc driver
From: Linus Walleij <hidden>
Date: 2019-10-16 12:53:53
Also in:
linux-gpio, lkml
On Mon, Oct 14, 2019 at 12:08 AM Chris Packham [off-list ref] wrote: Me:
quoted
I think this should be a chained interrupt handler (see below how to register it). See e.g. drivers/gpio/gpio-ftgpio010.c for an example: change function prototype, no return value, use chained_irq_enter/exit(irqchip, desc); etc.I don't think a chained interrupt handler can work. The problem is that the parent irq on the SoC is shared between the gpio and uart0 (why it's this way with two IP blocks in the same SoC I'll never know). When a chained interrupt handler is registered I lose the serial interrupts. Please correct me if there is some way to make the chained handlers deal with sharing interrupts.
Aha I see. Look at: drivers/gpio/gpio-mt7621.c And how that driver sets the parent handler to NULL in order to still exploit the core helpers. I will refactor this to some more elegant API at some point when I get there, for now follow the example of mt7621. Yours, Linus Walleij _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel