diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2010-12-01 00:14:42 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2010-12-24 15:02:41 +0100 |
commit | c7b61de5b7b17f0df34dc7d2f8b9576f8bd36fce (patch) | |
tree | d8cf6be1aab175839973d2c76060bd41d65b2ed5 /include/linux/pm.h | |
parent | 5262a47502adcfc3a64403120768f528418a3b79 (diff) | |
download | linux-c7b61de5b7b17f0df34dc7d2f8b9576f8bd36fce.tar.gz linux-c7b61de5b7b17f0df34dc7d2f8b9576f8bd36fce.tar.bz2 linux-c7b61de5b7b17f0df34dc7d2f8b9576f8bd36fce.zip |
PM / Runtime: Add synchronous runtime interface for interrupt handlers (v3)
This patch (as1431c) makes the synchronous runtime-PM interface
suitable for use in interrupt handlers. Subsystems can call the new
pm_runtime_irq_safe() function to tell the PM core that a device's
runtime_suspend and runtime_resume callbacks should be invoked with
interrupts disabled and the spinlock held. This permits the
pm_runtime_get_sync() and the new pm_runtime_put_sync_suspend()
routines to be called from within interrupt handlers.
When a device is declared irq-safe in this way, the PM core increments
the parent's usage count, so the parent will never be runtime
suspended. This prevents difficult situations in which an irq-safe
device can't resume because it is forced to wait for its non-irq-safe
parent.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'include/linux/pm.h')
-rw-r--r-- | include/linux/pm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h index 40f3f45702ba..61f2066e6852 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -486,6 +486,7 @@ struct dev_pm_info { unsigned int run_wake:1; unsigned int runtime_auto:1; unsigned int no_callbacks:1; + unsigned int irq_safe:1; unsigned int use_autosuspend:1; unsigned int timer_autosuspends:1; enum rpm_request request; |