From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Linux PM mailing list <linux-pm@lists.linux-foundation.org>
Cc: Tejun Heo <tj@kernel.org>, Alan Stern <stern@rowland.harvard.edu>,
Greg KH <greg@kroah.com>, LKML <linux-kernel@vger.kernel.org>,
Magnus Damm <magnus.damm@gmail.com>,
Kevin Hilman <khilman@ti.com>,
linux-scsi@vger.kernel.org,
Jesse Barnes <jbarnes@virtuousgeek.org>
Subject: [PATCH 5/6 v2] PM / Runtime: Improve documentation of enable, disable and barrier
Date: Wed, 29 Jun 2011 23:35:06 +0200 [thread overview]
Message-ID: <201106292335.06366.rjw@sisk.pl> (raw)
In-Reply-To: <201106292329.04163.rjw@sisk.pl>
From: Rafael J. Wysocki <rjw@sisk.pl>
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>
---
Documentation/power/runtime_pm.txt | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
Index: linux-2.6/Documentation/power/runtime_pm.txt
===================================================================
--- linux-2.6.orig/Documentation/power/runtime_pm.txt
+++ linux-2.6/Documentation/power/runtime_pm.txt
@@ -369,17 +369,27 @@ drivers/base/power/runtime.c and include
pm_runtime_autosuspend(dev) and return its result
void pm_runtime_enable(struct device *dev);
- - enable the run-time PM helper functions to run the device bus type's
- run-time PM callbacks described in Section 2
+ - decrement the device's 'power.disable_depth' field; if that field is equal
+ to zero, the run-time PM helper functions can execute subsystem-level
+ callbacks described in Section 2 for the device
int pm_runtime_disable(struct device *dev);
- - prevent the run-time PM helper functions from running subsystem-level
- run-time PM callbacks for the device, make sure that all of the pending
+ - increment the device's 'power.disable_depth' field (if the value of that
+ field was previously zero, this prevents subsystem-level runtime PM
+ callbacks from being run for the device), make sure that all of the pending
run-time PM operations on the device are either completed or canceled;
returns 1 if there was a resume request pending and it was necessary to
execute the subsystem-level resume callback for the device to satisfy that
request, otherwise 0 is returned
+ int pm_runtime_barrier(struct device *dev);
+ - check if there's a resume request pending for the device and resume it
+ (synchronously) in that case, cancel any other pending runtime PM requests
+ regarding it and wait for all runtime PM operations on it in progress to
+ complete; returns 1 if there was a resume request pending and it was
+ necessary to execute the subsystem-level resume callback for the device to
+ satisfy that request, otherwise 0 is returned
+
void pm_suspend_ignore_children(struct device *dev, bool enable);
- set/unset the power.ignore_children flag of the device
next prev parent reply other threads:[~2011-06-29 21:35 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-25 22:54 [PATCH 0/3] PM: Fix up interactions between system suspend/resume and runtime PM Rafael J. Wysocki
2011-06-25 22:55 ` [PATCH 1/3] PM / Runtime: Update documentation of interactions with system sleep Rafael J. Wysocki
2011-06-25 22:58 ` Jesper Juhl
2011-06-26 3:01 ` Alan Stern
2011-06-26 3:01 ` Alan Stern
2011-06-26 3:01 ` Alan Stern
2011-06-26 20:12 ` Rafael J. Wysocki
2011-06-26 20:12 ` Rafael J. Wysocki
2011-06-25 22:58 ` Jesper Juhl
2011-06-25 22:55 ` Rafael J. Wysocki
2011-06-25 22:55 ` [PATCH 2/3] PM / Runtime: Return special error code if runtime PM is disabled Rafael J. Wysocki
2011-06-25 22:55 ` Rafael J. Wysocki
2011-06-25 22:56 ` [PATCH 3/3] PM: Limit race conditions between runtime PM and system sleep Rafael J. Wysocki
2011-06-25 22:56 ` Rafael J. Wysocki
2011-06-26 2:57 ` Alan Stern
2011-06-26 2:57 ` Alan Stern
2011-06-26 2:57 ` Alan Stern
2011-06-26 20:21 ` Rafael J. Wysocki
2011-06-26 20:21 ` Rafael J. Wysocki
2011-06-28 15:56 ` Ming Lei
2011-06-28 15:56 ` Ming Lei
2011-06-28 21:42 ` Rafael J. Wysocki
2011-06-28 21:42 ` Rafael J. Wysocki
2011-06-29 14:11 ` Alan Stern
2011-06-29 14:11 ` Alan Stern
2011-06-29 14:11 ` Alan Stern
2011-06-29 19:35 ` Rafael J. Wysocki
2011-06-29 19:35 ` Rafael J. Wysocki
2011-07-01 16:22 ` Kevin Hilman
2011-07-01 16:22 ` Kevin Hilman
2011-07-01 19:50 ` Rafael J. Wysocki
2011-07-01 19:50 ` Rafael J. Wysocki
2011-06-29 21:29 ` [PATCH 0/6 v2] PM: Fix up interactions between system suspend/resume and runtime PM Rafael J. Wysocki
2011-06-29 21:31 ` [PATCH 1/6 v2] PM / Runtime: Update documentation of interactions with system sleep Rafael J. Wysocki
2011-06-29 21:31 ` Rafael J. Wysocki
2011-06-29 21:32 ` [PATCH 2/6 v2] PM / Runtime: Return special error code if runtime PM is disabled Rafael J. Wysocki
2011-06-29 21:32 ` Rafael J. Wysocki
2011-06-29 21:33 ` [PATCH 3/6 v2] PCI / PM: Detect early wakeup in pci_pm_prepare() Rafael J. Wysocki
2011-06-29 21:33 ` Rafael J. Wysocki
2011-06-29 21:34 ` [PATCH 4/6 v2] PM: Limit race conditions between runtime PM and system sleep (v2) Rafael J. Wysocki
2011-06-29 21:34 ` Rafael J. Wysocki
2011-10-27 13:54 ` Linus Walleij
2011-10-27 13:54 ` Linus Walleij
2011-10-27 20:06 ` Rafael J. Wysocki
2011-10-27 20:06 ` Rafael J. Wysocki
2011-10-28 20:00 ` Linus Walleij
2011-10-28 20:00 ` Linus Walleij
2011-11-02 19:14 ` Greg KH
2011-11-02 19:14 ` Greg KH
2011-11-02 20:06 ` Linus Walleij
2011-11-02 20:06 ` Linus Walleij
2011-11-02 20:11 ` Greg KH
2011-11-02 20:11 ` Greg KH
2011-11-02 21:00 ` Linus Walleij
2011-11-02 21:00 ` Linus Walleij
2011-11-02 21:17 ` Greg KH
2011-11-02 21:17 ` Greg KH
2011-11-03 0:28 ` Rafael J. Wysocki
2011-11-03 0:28 ` Rafael J. Wysocki
2011-11-03 1:31 ` Greg KH
2011-11-03 1:31 ` Greg KH
2011-11-02 21:00 ` Linus Walleij
2011-06-29 21:35 ` Rafael J. Wysocki [this message]
2011-06-29 21:35 ` [PATCH 5/6 v2] PM / Runtime: Improve documentation of enable, disable and barrier Rafael J. Wysocki
2011-06-29 21:35 ` [PATCH 6/6 v2] PM / Runtime: Replace "run-time" with "runtime" in documentation Rafael J. Wysocki
2011-06-29 21:35 ` Rafael J. Wysocki
2011-06-29 21:29 ` [PATCH 0/6 v2] PM: Fix up interactions between system suspend/resume and runtime PM Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201106292335.06366.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=greg@kroah.com \
--cc=jbarnes@virtuousgeek.org \
--cc=khilman@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=linux-scsi@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=stern@rowland.harvard.edu \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.