diff options
Diffstat (limited to 'Documentation/power/runtime_pm.txt')
-rw-r--r-- | Documentation/power/runtime_pm.txt | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt index 6066e3a6b9a..0e856088db7 100644 --- a/Documentation/power/runtime_pm.txt +++ b/Documentation/power/runtime_pm.txt | |||
@@ -43,13 +43,18 @@ struct dev_pm_ops { | |||
43 | ... | 43 | ... |
44 | }; | 44 | }; |
45 | 45 | ||
46 | The ->runtime_suspend(), ->runtime_resume() and ->runtime_idle() callbacks are | 46 | The ->runtime_suspend(), ->runtime_resume() and ->runtime_idle() callbacks |
47 | executed by the PM core for either the device type, or the class (if the device | 47 | are executed by the PM core for either the power domain, or the device type |
48 | type's struct dev_pm_ops object does not exist), or the bus type (if the | 48 | (if the device power domain's struct dev_pm_ops does not exist), or the class |
49 | device type's and class' struct dev_pm_ops objects do not exist) of the given | 49 | (if the device power domain's and type's struct dev_pm_ops object does not |
50 | device (this allows device types to override callbacks provided by bus types or | 50 | exist), or the bus type (if the device power domain's, type's and class' |
51 | classes if necessary). The bus type, device type and class callbacks are | 51 | struct dev_pm_ops objects do not exist) of the given device, so the priority |
52 | referred to as subsystem-level callbacks in what follows. | 52 | order of callbacks from high to low is that power domain callbacks, device |
53 | type callbacks, class callbacks and bus type callbacks, and the high priority | ||
54 | one will take precedence over low priority one. The bus type, device type and | ||
55 | class callbacks are referred to as subsystem-level callbacks in what follows, | ||
56 | and generally speaking, the power domain callbacks are used for representing | ||
57 | power domains within a SoC. | ||
53 | 58 | ||
54 | By default, the callbacks are always invoked in process context with interrupts | 59 | By default, the callbacks are always invoked in process context with interrupts |
55 | enabled. However, subsystems can use the pm_runtime_irq_safe() helper function | 60 | enabled. However, subsystems can use the pm_runtime_irq_safe() helper function |
@@ -477,12 +482,14 @@ pm_runtime_autosuspend_expiration() | |||
477 | If pm_runtime_irq_safe() has been called for a device then the following helper | 482 | If pm_runtime_irq_safe() has been called for a device then the following helper |
478 | functions may also be used in interrupt context: | 483 | functions may also be used in interrupt context: |
479 | 484 | ||
485 | pm_runtime_idle() | ||
480 | pm_runtime_suspend() | 486 | pm_runtime_suspend() |
481 | pm_runtime_autosuspend() | 487 | pm_runtime_autosuspend() |
482 | pm_runtime_resume() | 488 | pm_runtime_resume() |
483 | pm_runtime_get_sync() | 489 | pm_runtime_get_sync() |
484 | pm_runtime_put_sync() | 490 | pm_runtime_put_sync() |
485 | pm_runtime_put_sync_suspend() | 491 | pm_runtime_put_sync_suspend() |
492 | pm_runtime_put_sync_autosuspend() | ||
486 | 493 | ||
487 | 5. Runtime PM Initialization, Device Probing and Removal | 494 | 5. Runtime PM Initialization, Device Probing and Removal |
488 | 495 | ||