diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2012-08-13 14:00:25 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-09-04 01:36:05 +0200 |
commit | feb70af0e3ac6817327be70b47731039ea135dbc (patch) | |
tree | 7df6ab174688d8bcc637af0d7a8fc7beb6a1e2aa /include/linux/device.h | |
parent | 3cb6f10a4d925ec21f414bc30a8aded2830963e5 (diff) | |
download | linux-feb70af0e3ac6817327be70b47731039ea135dbc.tar.gz linux-feb70af0e3ac6817327be70b47731039ea135dbc.tar.bz2 linux-feb70af0e3ac6817327be70b47731039ea135dbc.zip |
PM: Do not use the syscore flag for runtime PM
The syscore device PM flag used to mark the devices (belonging to
PM domains) that should never be turned off, except for the system
core (syscore) suspend/hibernation and resume stages, need not be
accessed by the runtime PM core functions, because all of the devices
it is set for need to be marked as "irq safe" anyway and are
protected from being turned off by runtime PM by ensuring that their
usage counters are always set.
For this reason, make the syscore flag system-wide PM-specific
and simplify the code used for manipulating it, because it need not
acquire the device's power.lock any more.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'include/linux/device.h')
-rw-r--r-- | include/linux/device.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h index 52a5f15a2223..86529e642d6c 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -772,6 +772,13 @@ static inline void pm_suspend_ignore_children(struct device *dev, bool enable) dev->power.ignore_children = enable; } +static inline void dev_pm_syscore_device(struct device *dev, bool val) +{ +#ifdef CONFIG_PM_SLEEP + dev->power.syscore = val; +#endif +} + static inline void device_lock(struct device *dev) { mutex_lock(&dev->mutex); |