aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pm.h
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2010-09-25 23:35:15 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2010-10-17 01:57:47 +0200
commit7490e44239e60293bca0c2663229050c36c660c2 (patch)
tree938cd1cafba133f2d47c648ac01242de841d6d1b /include/linux/pm.h
parent140a6c945211ee911dec776fafa52e03a7d7bb9a (diff)
downloadkernel_samsung_smdk4412-7490e44239e60293bca0c2663229050c36c660c2.zip
kernel_samsung_smdk4412-7490e44239e60293bca0c2663229050c36c660c2.tar.gz
kernel_samsung_smdk4412-7490e44239e60293bca0c2663229050c36c660c2.tar.bz2
PM / Runtime: Add no_callbacks flag
Some devices, such as USB interfaces, cannot be power-managed independently of their parents, i.e., they cannot be put in low power while the parent remains at full power. This patch (as1425) creates a new "no_callbacks" flag, which tells the PM core not to invoke the runtime-PM callback routines for the such devices but instead to assume that the callbacks always succeed. In addition, the non-debugging runtime-PM sysfs attributes for the devices are removed, since they are pretty much meaningless. The advantage of this scheme comes not so much from avoiding the callbacks themselves, but rather from the fact that without the need for a process context in which to run the callbacks, more work can be done in interrupt context. 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.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 1abfe84..abd81ff 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -41,6 +41,12 @@ extern void (*pm_power_off_prepare)(void);
struct device;
+#ifdef CONFIG_PM
+extern const char power_group_name[]; /* = "power" */
+#else
+#define power_group_name NULL
+#endif
+
typedef struct pm_message {
int event;
} pm_message_t;
@@ -475,6 +481,7 @@ struct dev_pm_info {
unsigned int deferred_resume:1;
unsigned int run_wake:1;
unsigned int runtime_auto:1;
+ unsigned int no_callbacks:1;
enum rpm_request request;
enum rpm_status runtime_status;
int runtime_error;