aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pm.h
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2011-08-25 09:34:12 -0400
committerRafael J. Wysocki <rjw@sisk.pl>2011-08-25 09:34:12 -0400
commit4605ab653c1f9d7cc2dda8033de215c9cee325f4 (patch)
tree8f55aa3137973ce2a3ef0ed49c44304e148d50fe /include/linux/pm.h
parentef27bed1870dbd5fd363ff5ec51eebd5a695e277 (diff)
PM / Domains: Use power.sybsys_data to reduce overhead
Currently pm_genpd_runtime_resume() has to walk the list of devices from the device's PM domain to find the corresponding device list object containing the need_restore field to check if the driver's .runtime_resume() callback should be executed for the device. This is suboptimal and can be simplified by using power.sybsys_data to store device information used by the generic PM domains code. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'include/linux/pm.h')
-rw-r--r--include/linux/pm.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h
index c6b5a0a41ab3..ed10f24d5259 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -421,12 +421,21 @@ enum rpm_request {
421 421
422struct wakeup_source; 422struct wakeup_source;
423 423
424struct pm_domain_data {
425 struct list_head list_node;
426 struct device *dev;
427 bool need_restore;
428};
429
424struct pm_subsys_data { 430struct pm_subsys_data {
425 spinlock_t lock; 431 spinlock_t lock;
426 unsigned int refcount; 432 unsigned int refcount;
427#ifdef CONFIG_PM_CLK 433#ifdef CONFIG_PM_CLK
428 struct list_head clock_list; 434 struct list_head clock_list;
429#endif 435#endif
436#ifdef CONFIG_PM_GENERIC_DOMAINS
437 struct pm_domain_data domain_data;
438#endif
430}; 439};
431 440
432struct dev_pm_info { 441struct dev_pm_info {