aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2010-01-23 16:02:51 -0500
committerRafael J. Wysocki <rjw@sisk.pl>2010-02-26 14:39:08 -0500
commit53823639173cc9e9a261f68f4abefe62364b86c6 (patch)
treea4af3a12edea5cf24d23ddece703ec85bacffb42 /include
parent68c6b859846bd078b37c6ca5f3882032f129e72d (diff)
PM / Runtime: Add sysfs switch for disabling device run-time PM
Add new device sysfs attribute, power/control, allowing the user space to block the run-time power management of the devices. If this attribute is set to "on", the driver of the device won't be able to power manage it at run time (without breaking the rules) and the device will always be in the full power state (except when the entire system goes into a sleep state). Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Alan Stern <stern@rowland.harvard.edu>
Diffstat (limited to 'include')
-rw-r--r--include/linux/pm.h1
-rw-r--r--include/linux/pm_runtime.h4
2 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 198b8f9fe05e..25b1eca8049d 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -430,6 +430,7 @@ struct dev_pm_info {
430 unsigned int request_pending:1; 430 unsigned int request_pending:1;
431 unsigned int deferred_resume:1; 431 unsigned int deferred_resume:1;
432 unsigned int run_wake:1; 432 unsigned int run_wake:1;
433 unsigned int runtime_auto:1;
433 enum rpm_request request; 434 enum rpm_request request;
434 enum rpm_status runtime_status; 435 enum rpm_status runtime_status;
435 int runtime_error; 436 int runtime_error;
diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h
index 370ce0a6fe4a..7d773aac5314 100644
--- a/include/linux/pm_runtime.h
+++ b/include/linux/pm_runtime.h
@@ -28,6 +28,8 @@ extern int __pm_runtime_set_status(struct device *dev, unsigned int status);
28extern int pm_runtime_barrier(struct device *dev); 28extern int pm_runtime_barrier(struct device *dev);
29extern void pm_runtime_enable(struct device *dev); 29extern void pm_runtime_enable(struct device *dev);
30extern void __pm_runtime_disable(struct device *dev, bool check_resume); 30extern void __pm_runtime_disable(struct device *dev, bool check_resume);
31extern void pm_runtime_allow(struct device *dev);
32extern void pm_runtime_forbid(struct device *dev);
31 33
32static inline bool pm_children_suspended(struct device *dev) 34static inline bool pm_children_suspended(struct device *dev)
33{ 35{
@@ -78,6 +80,8 @@ static inline int __pm_runtime_set_status(struct device *dev,
78static inline int pm_runtime_barrier(struct device *dev) { return 0; } 80static inline int pm_runtime_barrier(struct device *dev) { return 0; }
79static inline void pm_runtime_enable(struct device *dev) {} 81static inline void pm_runtime_enable(struct device *dev) {}
80static inline void __pm_runtime_disable(struct device *dev, bool c) {} 82static inline void __pm_runtime_disable(struct device *dev, bool c) {}
83static inline void pm_runtime_allow(struct device *dev) {}
84static inline void pm_runtime_forbid(struct device *dev) {}
81 85
82static inline bool pm_children_suspended(struct device *dev) { return false; } 86static inline bool pm_children_suspended(struct device *dev) { return false; }
83static inline void pm_suspend_ignore_children(struct device *dev, bool en) {} 87static inline void pm_suspend_ignore_children(struct device *dev, bool en) {}