[PATCH] genirq: better describe IRQF_NO_SUSPEND semantics

Rafael J. Wysocki rjw at rjwysocki.net
Mon Feb 23 16:26:05 PST 2015


On Friday, February 20, 2015 02:53:46 PM Mark Rutland wrote:
> The IRQF_NO_SUSPEND flag is intended to be used for interrupts required
> to be enabled during the suspend-resume cycle. This mostly consists of
> IPIs and timer interrupts, potentially including chained irqchip
> interrupts if these are necessary to handle timers or IPIs. If an
> interrupt does not fall into one of the aforementioned categories,
> requesting it with IRQF_NO_SUSPEND is likely incorrect.
> 
> Using IRQF_NO_SUSPEND does not guarantee that the interrupt can wake the
> system from a suspended state. For an interrupt to be able to trigger a
> wakeup, it may be necessary to program various components of the system.
> In these cases it is necessary to use {enable,disabled}_irq_wake.
> 
> Unfortunately, several drivers assume that IRQF_NO_SUSPEND ensures that
> an IRQ can wake up the system, and the documentation can be read
> ambiguously w.r.t. this property.
> 
> This patch updates the documentation regarding IRQF_NO_SUSPEND to make
> this caveat explicit, hopefully making future misuse rarer. Cleanup of
> existing misuse will occur as part of later patch series.
> 
> Cc: Boris Brezillon <boris.brezillon at free-electrons.com>
> Cc: Ian Campbell <ian.campbell at citrix.com>
> Cc: Jonathan Corbet <corbet at lwn.net>
> Cc: Peter Zijlstra <peterz at infradead.org>
> Cc: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
> Cc: Thomas Gleixner <tglx at linutronix.de>
> Signed-off-by: Mark Rutland <mark.rutland at arm.com>

Applied to linux-pm.git/linux-next, thanks!

Peter, please let me know if you don't want this to go it.

Rafael




More information about the linux-arm-kernel mailing list