linux/Documentation/power
Mark Rutland 737eb0301f genirq / PM: better describe IRQF_NO_SUSPEND semantics
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.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2015-02-26 01:17:53 +01:00
..
powercap PowerCap: Documentation 2013-10-17 00:36:06 +02:00
regulator regulator: Proofread documentation 2014-08-27 22:04:36 +01:00
00-INDEX Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
apm-acpi.txt
basic-pm-debugging.txt Documentation/: update FireWire debugging documentation 2014-01-12 18:54:38 +01:00
charger-manager.txt Documentation: Charger Manager: Fix spelling mistakes 2014-09-16 11:01:27 +02:00
devices.txt PM / sleep: Update device PM documentation to cover direct_complete 2014-05-16 23:15:44 +02:00
drivers-testing.txt PM: Fix references to basic-pm-debugging.txt in drivers-testing.txt 2010-12-24 15:02:41 +01:00
freezing-of-tasks.txt suspend: enable freeze timeout configuration through sys 2013-02-09 22:32:48 +01:00
interface.txt PM: Documentation update for freeze state 2013-05-14 01:41:37 +02:00
notifiers.txt PM / hibernate: Correct documentation 2013-05-14 01:58:43 +02:00
opp.txt PM / OPP: Remove ARCH_HAS_OPP 2014-07-23 00:51:30 +02:00
pci.txt
pm_qos_interface.txt PM / QoS: Add PM_QOS_MEMORY_BANDWIDTH class 2014-09-25 01:18:33 +02:00
power_supply_class.txt power_supply: Add boot and calibration attributes 2014-09-06 21:05:04 +02:00
runtime_pm.txt Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-12-12 15:26:48 -08:00
s2ram.txt PM / sleep: Mention async suspend in PM_TRACE documentation 2015-01-30 01:29:46 +01:00
states.txt PM / sleep: Introduce command line argument for sleep state enumeration 2014-05-26 13:40:59 +02:00
suspend-and-cpuhotplug.txt PM / Documentation: Update copyright in suspend-and-cpuhotplug.txt 2014-06-09 22:54:15 +02:00
suspend-and-interrupts.txt genirq / PM: better describe IRQF_NO_SUSPEND semantics 2015-02-26 01:17:53 +01:00
swsusp-and-swap-files.txt
swsusp-dmcrypt.txt
swsusp.txt PM / hibernate: Documentation: Fix script for unswapping 2014-05-07 01:51:16 +02:00
tricks.txt
userland-swsusp.txt Documentation: power: Fix typo in Documentation/power 2014-11-08 09:15:14 -05:00
video.txt