diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2011-10-07 17:17:02 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-10-07 17:17:02 -0400 |
commit | c28b56b1d46b1bbb1be33c8f2632a88b0de1ef68 (patch) | |
tree | a7caddb9f58c968f6e77f36d2d398ec06983509e /include/linux/pm.h | |
parent | d727b60659a1173eb4142a5fc521ce67c28b34e1 (diff) | |
parent | cd0ea672f58d5cfdea271c45cec0c897f2b792aa (diff) |
Merge branch 'pm-domains' into pm-for-linus
* pm-domains:
PM / Domains: Split device PM domain data into base and need_restore
ARM: mach-shmobile: sh7372 sleep warning fixes
ARM: mach-shmobile: sh7372 A3SM support
ARM: mach-shmobile: sh7372 generic suspend/resume support
PM / Domains: Preliminary support for devices with power.irq_safe set
PM: Move clock-related definitions and headers to separate file
PM / Domains: Use power.sybsys_data to reduce overhead
PM: Reference counting of power.subsys_data
PM: Introduce struct pm_subsys_data
ARM / shmobile: Make A3RV be a subdomain of A4LC on SH7372
PM / Domains: Rename argument of pm_genpd_add_subdomain()
PM / Domains: Rename GPD_STATE_WAIT_PARENT to GPD_STATE_WAIT_MASTER
PM / Domains: Allow generic PM domains to have multiple masters
PM / Domains: Add "wait for parent" status for generic PM domains
PM / Domains: Make pm_genpd_poweron() always survive parent removal
PM / Domains: Do not take parent locks to modify subdomain counters
PM / Domains: Implement subdomain counters as atomic fields
Diffstat (limited to 'include/linux/pm.h')
-rw-r--r-- | include/linux/pm.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h index 18de9f893497..f497ed06ee15 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h | |||
@@ -423,6 +423,22 @@ enum rpm_request { | |||
423 | 423 | ||
424 | struct wakeup_source; | 424 | struct wakeup_source; |
425 | 425 | ||
426 | struct pm_domain_data { | ||
427 | struct list_head list_node; | ||
428 | struct device *dev; | ||
429 | }; | ||
430 | |||
431 | struct pm_subsys_data { | ||
432 | spinlock_t lock; | ||
433 | unsigned int refcount; | ||
434 | #ifdef CONFIG_PM_CLK | ||
435 | struct list_head clock_list; | ||
436 | #endif | ||
437 | #ifdef CONFIG_PM_GENERIC_DOMAINS | ||
438 | struct pm_domain_data *domain_data; | ||
439 | #endif | ||
440 | }; | ||
441 | |||
426 | struct dev_pm_info { | 442 | struct dev_pm_info { |
427 | pm_message_t power_state; | 443 | pm_message_t power_state; |
428 | unsigned int can_wakeup:1; | 444 | unsigned int can_wakeup:1; |
@@ -464,10 +480,12 @@ struct dev_pm_info { | |||
464 | unsigned long suspended_jiffies; | 480 | unsigned long suspended_jiffies; |
465 | unsigned long accounting_timestamp; | 481 | unsigned long accounting_timestamp; |
466 | #endif | 482 | #endif |
467 | void *subsys_data; /* Owned by the subsystem. */ | 483 | struct pm_subsys_data *subsys_data; /* Owned by the subsystem. */ |
468 | }; | 484 | }; |
469 | 485 | ||
470 | extern void update_pm_runtime_accounting(struct device *dev); | 486 | extern void update_pm_runtime_accounting(struct device *dev); |
487 | extern int dev_pm_get_subsys_data(struct device *dev); | ||
488 | extern int dev_pm_put_subsys_data(struct device *dev); | ||
471 | 489 | ||
472 | /* | 490 | /* |
473 | * Power domains provide callbacks that are executed during system suspend, | 491 | * Power domains provide callbacks that are executed during system suspend, |