[PATCH 0/4] Minimal generic wakeirq helpers

From: Tony Lindgren
Date: Thu Mar 05 2015 - 19:49:56 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/