aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2011-07-01 16:12:59 -0400
committerRafael J. Wysocki <rjw@sisk.pl>2011-07-02 08:29:55 -0400
commite5291928839877f8e73c2643ee1d3fe0bcdcaf5c (patch)
treedf733cad71610a2f5ce283dcca5f2ad1d83bdf1f /Documentation
parentf721889ff65afa6243c463832c74dee3bed418d5 (diff)
PM: Introduce generic "noirq" callback routines for subsystems (v2)
Introduce generic "noirq" power management callback routines for subsystems in addition to the "regular" generic PM callback routines. The new routines will be used, among other things, for implementing system-wide PM transitions support for generic PM domains. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/power/runtime_pm.txt32
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
632These functions can be assigned to the ->runtime_idle(), ->runtime_suspend(), 658These 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(),
634or ->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
662pointers in the subsystem-level dev_pm_ops structures.
635 663
636If a subsystem wishes to use all of them at the same time, it can simply assign 664If a subsystem wishes to use all of them at the same time, it can simply assign
637the GENERIC_SUBSYS_PM_OPS macro, defined in include/linux/pm.h, to its 665the GENERIC_SUBSYS_PM_OPS macro, defined in include/linux/pm.h, to its