mbox series

[v5,0/2] gpio: sch: Interrupt support

Message ID 20210317151928.41544-1-andriy.shevchenko@linux.intel.com
Headers show
Series gpio: sch: Interrupt support | expand

Message

Andy Shevchenko March 17, 2021, 3:19 p.m. UTC
The series adds event support to the Intel GPIO SCH driver. The hardware
routes all events through GPE0 GPIO event.

I validated this on Intel Minnowboard (v1).

If somebody has different hardware with the same GPIO controller, I would
appreciate additional testing.

Changes in v5:
- added missed IRQ acknowledge callback (hence kernel Oops)
- rewrite patch 2 completely from SCI to GPE hook

Changes in v4 (https://lore.kernel.org/linux-gpio/20210316162613.87710-1-andriy.shevchenko@linux.intel.com/T/#u):
- turned to GPIO core infrastructure of IRQ chip instantiation (Linus)
- converted IRQ callbacks to use better APIs
- use handle_bad_irq() as default handler and now I know why, see
  eb441337c714 ("gpio: pca953x: Set IRQ type when handle Intel Galileo Gen 2")
    for the real example what happens if it's preset to something meaningful
- fixed remove stage (we have to remove SCI handler, which wasn't done in v3)

Changes in v3 (https://lore.kernel.org/linux-gpio/cover.1574277614.git.jan.kiszka@siemens.com/T/#u):
- split-up of the irq enabling patch as requested by Andy

Andy Shevchenko (1):
  gpio: sch: Hook into ACPI GPE handler to catch GPIO edge events

Jan Kiszka (1):
  gpio: sch: Add edge event support

 drivers/gpio/gpio-sch.c | 196 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 188 insertions(+), 8 deletions(-)

Comments

Andy Shevchenko March 18, 2021, 12:26 p.m. UTC | #1
On Wed, Mar 17, 2021 at 05:19:26PM +0200, Andy Shevchenko wrote:
> The series adds event support to the Intel GPIO SCH driver. The hardware
> routes all events through GPE0 GPIO event.
> 
> I validated this on Intel Minnowboard (v1).
> 
> If somebody has different hardware with the same GPIO controller, I would
> appreciate additional testing.

I've applied this to my review and testing queue, thanks!

> Changes in v5:
> - added missed IRQ acknowledge callback (hence kernel Oops)
> - rewrite patch 2 completely from SCI to GPE hook
> 
> Changes in v4 (https://lore.kernel.org/linux-gpio/20210316162613.87710-1-andriy.shevchenko@linux.intel.com/T/#u):
> - turned to GPIO core infrastructure of IRQ chip instantiation (Linus)
> - converted IRQ callbacks to use better APIs
> - use handle_bad_irq() as default handler and now I know why, see
>   eb441337c714 ("gpio: pca953x: Set IRQ type when handle Intel Galileo Gen 2")
>     for the real example what happens if it's preset to something meaningful
> - fixed remove stage (we have to remove SCI handler, which wasn't done in v3)
> 
> Changes in v3 (https://lore.kernel.org/linux-gpio/cover.1574277614.git.jan.kiszka@siemens.com/T/#u):
> - split-up of the irq enabling patch as requested by Andy
> 
> Andy Shevchenko (1):
>   gpio: sch: Hook into ACPI GPE handler to catch GPIO edge events
> 
> Jan Kiszka (1):
>   gpio: sch: Add edge event support
> 
>  drivers/gpio/gpio-sch.c | 196 ++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 188 insertions(+), 8 deletions(-)
> 
> -- 
> 2.30.2
>