[PATCH] genirq: better describe IRQF_NO_SUSPEND semantics
flat view
From: peterz@infradead.org (Peter Zijlstra)
Date: 2015-02-25 15:19:51
Also in:
linux-pm, lkml
On Tue, Feb 24, 2015 at 01:26:05AM +0100, Rafael J. Wysocki wrote:
On Friday, February 20, 2015 02:53:46 PM Mark Rutland wrote:quoted
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 <redacted> Cc: Ian Campbell <redacted> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rafael J. Wysocki <redacted> Cc: Thomas Gleixner <redacted> Signed-off-by: Mark Rutland <mark.rutland@arm.com>Applied to linux-pm.git/linux-next, thanks! Peter, please let me know if you don't want this to go it.
No seems fine, Thanks! Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>