diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2011-07-06 04:52:06 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-07-06 04:52:06 -0400 |
commit | e358bad75ff13210f5211cac9f93d76170d43f89 (patch) | |
tree | 872f967bd42888a1fcd0968ad0853ed8b941f29e /Documentation | |
parent | 1e2ef05bb8cf851a694d38e9170c89e7ff052741 (diff) |
PM / Runtime: Improve documentation of enable, disable and barrier
The runtime PM documentation in Documentation/power/runtime_pm.txt
doesn't say that pm_runtime_enable() and pm_runtime_disable() work by
operating on power.disable_depth, which is wrong, because the
possibility of nesting disables doesn't follow from the description
of these functions. Also, there is no description of
pm_runtime_barrier() at all in the document, which is confusing.
Improve the documentation by fixing those issues.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/power/runtime_pm.txt | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt index d50dd1ab590d..ca15bbbe1891 100644 --- a/Documentation/power/runtime_pm.txt +++ b/Documentation/power/runtime_pm.txt | |||
@@ -369,17 +369,27 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h: | |||
369 | pm_runtime_autosuspend(dev) and return its result | 369 | pm_runtime_autosuspend(dev) and return its result |
370 | 370 | ||
371 | void pm_runtime_enable(struct device *dev); | 371 | void pm_runtime_enable(struct device *dev); |
372 | - enable the run-time PM helper functions to run the device bus type's | 372 | - decrement the device's 'power.disable_depth' field; if that field is equal |
373 | run-time PM callbacks described in Section 2 | 373 | to zero, the run-time PM helper functions can execute subsystem-level |
374 | callbacks described in Section 2 for the device | ||
374 | 375 | ||
375 | int pm_runtime_disable(struct device *dev); | 376 | int pm_runtime_disable(struct device *dev); |
376 | - prevent the run-time PM helper functions from running subsystem-level | 377 | - increment the device's 'power.disable_depth' field (if the value of that |
377 | run-time PM callbacks for the device, make sure that all of the pending | 378 | field was previously zero, this prevents subsystem-level runtime PM |
379 | callbacks from being run for the device), make sure that all of the pending | ||
378 | run-time PM operations on the device are either completed or canceled; | 380 | run-time PM operations on the device are either completed or canceled; |
379 | returns 1 if there was a resume request pending and it was necessary to | 381 | returns 1 if there was a resume request pending and it was necessary to |
380 | execute the subsystem-level resume callback for the device to satisfy that | 382 | execute the subsystem-level resume callback for the device to satisfy that |
381 | request, otherwise 0 is returned | 383 | request, otherwise 0 is returned |
382 | 384 | ||
385 | int pm_runtime_barrier(struct device *dev); | ||
386 | - check if there's a resume request pending for the device and resume it | ||
387 | (synchronously) in that case, cancel any other pending runtime PM requests | ||
388 | regarding it and wait for all runtime PM operations on it in progress to | ||
389 | complete; returns 1 if there was a resume request pending and it was | ||
390 | necessary to execute the subsystem-level resume callback for the device to | ||
391 | satisfy that request, otherwise 0 is returned | ||
392 | |||
383 | void pm_suspend_ignore_children(struct device *dev, bool enable); | 393 | void pm_suspend_ignore_children(struct device *dev, bool enable); |
384 | - set/unset the power.ignore_children flag of the device | 394 | - set/unset the power.ignore_children flag of the device |
385 | 395 | ||