diff options
Diffstat (limited to 'Documentation/power')
-rw-r--r-- | Documentation/power/runtime_pm.txt | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt index b24875b1ced5..4b011b171be4 100644 --- a/Documentation/power/runtime_pm.txt +++ b/Documentation/power/runtime_pm.txt | |||
@@ -606,32 +606,60 @@ driver/base/power/generic_ops.c: | |||
606 | callback provided by its driver and return its result, or return 0 if not | 606 | callback provided by its driver and return its result, or return 0 if not |
607 | defined | 607 | defined |
608 | 608 | ||
609 | int pm_generic_suspend_noirq(struct device *dev); | ||
610 | - if pm_runtime_suspended(dev) returns "false", invoke the ->suspend_noirq() | ||
611 | callback provided by the device's driver and return its result, or return | ||
612 | 0 if not defined | ||
613 | |||
609 | int pm_generic_resume(struct device *dev); | 614 | int pm_generic_resume(struct device *dev); |
610 | - invoke the ->resume() callback provided by the driver of this device and, | 615 | - invoke the ->resume() callback provided by the driver of this device and, |
611 | if successful, change the device's runtime PM status to 'active' | 616 | if successful, change the device's runtime PM status to 'active' |
612 | 617 | ||
618 | int pm_generic_resume_noirq(struct device *dev); | ||
619 | - invoke the ->resume_noirq() callback provided by the driver of this device | ||
620 | |||
613 | int pm_generic_freeze(struct device *dev); | 621 | int pm_generic_freeze(struct device *dev); |
614 | - if the device has not been suspended at run time, invoke the ->freeze() | 622 | - if the device has not been suspended at run time, invoke the ->freeze() |
615 | callback provided by its driver and return its result, or return 0 if not | 623 | callback provided by its driver and return its result, or return 0 if not |
616 | defined | 624 | defined |
617 | 625 | ||
626 | int pm_generic_freeze_noirq(struct device *dev); | ||
627 | - if pm_runtime_suspended(dev) returns "false", invoke the ->freeze_noirq() | ||
628 | callback provided by the device's driver and return its result, or return | ||
629 | 0 if not defined | ||
630 | |||
618 | int pm_generic_thaw(struct device *dev); | 631 | int pm_generic_thaw(struct device *dev); |
619 | - if the device has not been suspended at run time, invoke the ->thaw() | 632 | - if the device has not been suspended at run time, invoke the ->thaw() |
620 | callback provided by its driver and return its result, or return 0 if not | 633 | callback provided by its driver and return its result, or return 0 if not |
621 | defined | 634 | defined |
622 | 635 | ||
636 | int pm_generic_thaw_noirq(struct device *dev); | ||
637 | - if pm_runtime_suspended(dev) returns "false", invoke the ->thaw_noirq() | ||
638 | callback provided by the device's driver and return its result, or return | ||
639 | 0 if not defined | ||
640 | |||
623 | int pm_generic_poweroff(struct device *dev); | 641 | int pm_generic_poweroff(struct device *dev); |
624 | - if the device has not been suspended at run time, invoke the ->poweroff() | 642 | - if the device has not been suspended at run time, invoke the ->poweroff() |
625 | callback provided by its driver and return its result, or return 0 if not | 643 | callback provided by its driver and return its result, or return 0 if not |
626 | defined | 644 | defined |
627 | 645 | ||
646 | int pm_generic_poweroff_noirq(struct device *dev); | ||
647 | - if pm_runtime_suspended(dev) returns "false", run the ->poweroff_noirq() | ||
648 | callback provided by the device's driver and return its result, or return | ||
649 | 0 if not defined | ||
650 | |||
628 | int pm_generic_restore(struct device *dev); | 651 | int pm_generic_restore(struct device *dev); |
629 | - invoke the ->restore() callback provided by the driver of this device and, | 652 | - invoke the ->restore() callback provided by the driver of this device and, |
630 | if successful, change the device's runtime PM status to 'active' | 653 | if successful, change the device's runtime PM status to 'active' |
631 | 654 | ||
655 | int pm_generic_restore_noirq(struct device *dev); | ||
656 | - invoke the ->restore_noirq() callback provided by the device's driver | ||
657 | |||
632 | These functions can be assigned to the ->runtime_idle(), ->runtime_suspend(), | 658 | These functions can be assigned to the ->runtime_idle(), ->runtime_suspend(), |
633 | ->runtime_resume(), ->suspend(), ->resume(), ->freeze(), ->thaw(), ->poweroff(), | 659 | ->runtime_resume(), ->suspend(), ->suspend_noirq(), ->resume(), |
634 | or ->restore() callback pointers in the subsystem-level dev_pm_ops structures. | 660 | ->resume_noirq(), ->freeze(), ->freeze_noirq(), ->thaw(), ->thaw_noirq(), |
661 | ->poweroff(), ->poweroff_noirq(), ->restore(), ->restore_noirq() callback | ||
662 | pointers in the subsystem-level dev_pm_ops structures. | ||
635 | 663 | ||
636 | If a subsystem wishes to use all of them at the same time, it can simply assign | 664 | If a subsystem wishes to use all of them at the same time, it can simply assign |
637 | the GENERIC_SUBSYS_PM_OPS macro, defined in include/linux/pm.h, to its | 665 | the GENERIC_SUBSYS_PM_OPS macro, defined in include/linux/pm.h, to its |