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, |
