diff options
Diffstat (limited to 'include/linux/pm.h')
| -rw-r--r-- | include/linux/pm.h | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h index 21415cc91cbb..512e09177e57 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h | |||
| @@ -267,7 +267,7 @@ const struct dev_pm_ops name = { \ | |||
| 267 | * callbacks provided by device drivers supporting both the system sleep PM and | 267 | * callbacks provided by device drivers supporting both the system sleep PM and |
| 268 | * runtime PM, make the pm member point to generic_subsys_pm_ops. | 268 | * runtime PM, make the pm member point to generic_subsys_pm_ops. |
| 269 | */ | 269 | */ |
| 270 | #ifdef CONFIG_PM_OPS | 270 | #ifdef CONFIG_PM |
| 271 | extern struct dev_pm_ops generic_subsys_pm_ops; | 271 | extern struct dev_pm_ops generic_subsys_pm_ops; |
| 272 | #define GENERIC_SUBSYS_PM_OPS (&generic_subsys_pm_ops) | 272 | #define GENERIC_SUBSYS_PM_OPS (&generic_subsys_pm_ops) |
| 273 | #else | 273 | #else |
| @@ -465,6 +465,14 @@ struct dev_pm_info { | |||
| 465 | 465 | ||
| 466 | extern void update_pm_runtime_accounting(struct device *dev); | 466 | extern void update_pm_runtime_accounting(struct device *dev); |
| 467 | 467 | ||
| 468 | /* | ||
| 469 | * Power domains provide callbacks that are executed during system suspend, | ||
| 470 | * hibernation, system resume and during runtime PM transitions along with | ||
| 471 | * subsystem-level and driver-level callbacks. | ||
| 472 | */ | ||
| 473 | struct dev_power_domain { | ||
| 474 | struct dev_pm_ops ops; | ||
| 475 | }; | ||
| 468 | 476 | ||
| 469 | /* | 477 | /* |
| 470 | * The PM_EVENT_ messages are also used by drivers implementing the legacy | 478 | * The PM_EVENT_ messages are also used by drivers implementing the legacy |
| @@ -521,13 +529,19 @@ extern void update_pm_runtime_accounting(struct device *dev); | |||
| 521 | */ | 529 | */ |
| 522 | 530 | ||
| 523 | #ifdef CONFIG_PM_SLEEP | 531 | #ifdef CONFIG_PM_SLEEP |
| 524 | extern void device_pm_lock(void); | 532 | #ifndef CONFIG_ARCH_NO_SYSDEV_OPS |
| 533 | extern int sysdev_suspend(pm_message_t state); | ||
| 525 | extern int sysdev_resume(void); | 534 | extern int sysdev_resume(void); |
| 535 | #else | ||
| 536 | static inline int sysdev_suspend(pm_message_t state) { return 0; } | ||
| 537 | static inline int sysdev_resume(void) { return 0; } | ||
| 538 | #endif | ||
| 539 | |||
| 540 | extern void device_pm_lock(void); | ||
| 526 | extern void dpm_resume_noirq(pm_message_t state); | 541 | extern void dpm_resume_noirq(pm_message_t state); |
| 527 | extern void dpm_resume_end(pm_message_t state); | 542 | extern void dpm_resume_end(pm_message_t state); |
| 528 | 543 | ||
| 529 | extern void device_pm_unlock(void); | 544 | extern void device_pm_unlock(void); |
| 530 | extern int sysdev_suspend(pm_message_t state); | ||
| 531 | extern int dpm_suspend_noirq(pm_message_t state); | 545 | extern int dpm_suspend_noirq(pm_message_t state); |
| 532 | extern int dpm_suspend_start(pm_message_t state); | 546 | extern int dpm_suspend_start(pm_message_t state); |
| 533 | 547 | ||
| @@ -565,15 +579,6 @@ enum dpm_order { | |||
| 565 | DPM_ORDER_DEV_LAST, | 579 | DPM_ORDER_DEV_LAST, |
| 566 | }; | 580 | }; |
| 567 | 581 | ||
| 568 | /* | ||
| 569 | * Global Power Management flags | ||
| 570 | * Used to keep APM and ACPI from both being active | ||
| 571 | */ | ||
| 572 | extern unsigned int pm_flags; | ||
| 573 | |||
| 574 | #define PM_APM 1 | ||
| 575 | #define PM_ACPI 2 | ||
| 576 | |||
| 577 | extern int pm_generic_suspend(struct device *dev); | 582 | extern int pm_generic_suspend(struct device *dev); |
| 578 | extern int pm_generic_resume(struct device *dev); | 583 | extern int pm_generic_resume(struct device *dev); |
| 579 | extern int pm_generic_freeze(struct device *dev); | 584 | extern int pm_generic_freeze(struct device *dev); |
