Hi all, Here's an attempt to have Linux generic wakeirq helpers. This allows removing most of the related code from drivers. Currently the drivers all do it in a slightly different way. And may have issues with interrupt re-entrancy and getting the suspend/resume vs runtime_pm wake handling right. This is for wakerirqs that are available for some devices in addition to the regular device interrupts. The seprate always-on wake-up interrupt controller is needed to allow devices and the SoC to enter deeper idle states and still be able to wake-up to events. Some of this was discussed in the kernel/irq context a while back [1]. But it seems that this can be done in drivers/base/power. If somebody has hardware that needs to replay lost device interrupts based on the wake-up interrupts, then additional kernel/irq changes will be needed. This set fixes up three drivers to use the generic wakeirq. Note that eventually the wakeirq handling for these drivers might end up in a bus specific code and could be hidden away from the drivers. Regards, Tony [1] https://lkml.org/lkml/2014/11/13/458 Tony Lindgren (4): PM / Wakeirq: Add minimal device wakeirq helper functions serial: 8250_omap: Move wake-up interrupt to generic wakeirq serial: omap: Switch wake-up interrupt to generic wakeirq mmc: omap_hsmmc: Change wake-up interrupt to use generic wakeirq arch/arm/mach-omap2/Kconfig | 1 + drivers/base/power/Makefile | 1 + drivers/base/power/wakeirq.c | 201 ++++++++++++++++++++++++++++++++++++ drivers/mmc/host/omap_hsmmc.c | 55 +++------- drivers/tty/serial/8250/8250_omap.c | 67 +++--------- drivers/tty/serial/omap-serial.c | 38 +++---- include/linux/pm_wakeirq.h | 69 +++++++++++++ kernel/power/Kconfig | 4 + 8 files changed, 318 insertions(+), 118 deletions(-) create mode 100644 drivers/base/power/wakeirq.c create mode 100644 include/linux/pm_wakeirq.h -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html