PM / Domains: Update documentation
Commit 4d27e9dcff
(PM: Make power
domain callbacks take precedence over subsystem ones) forgot to
update the device power management documentation to take changes
made by it into account. Correct that mistake.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
This commit is contained in:
parent
4d1518f566
commit
ca9c6890b5
@ -520,33 +520,20 @@ Support for power domains is provided through the pwr_domain field of struct
|
|||||||
device. This field is a pointer to an object of type struct dev_power_domain,
|
device. This field is a pointer to an object of type struct dev_power_domain,
|
||||||
defined in include/linux/pm.h, providing a set of power management callbacks
|
defined in include/linux/pm.h, providing a set of power management callbacks
|
||||||
analogous to the subsystem-level and device driver callbacks that are executed
|
analogous to the subsystem-level and device driver callbacks that are executed
|
||||||
for the given device during all power transitions, in addition to the respective
|
for the given device during all power transitions, instead of the respective
|
||||||
subsystem-level callbacks. Specifically, the power domain "suspend" callbacks
|
subsystem-level callbacks. Specifically, if a device's pm_domain pointer is
|
||||||
(i.e. ->runtime_suspend(), ->suspend(), ->freeze(), ->poweroff(), etc.) are
|
not NULL, the ->suspend() callback from the object pointed to by it will be
|
||||||
executed after the analogous subsystem-level callbacks, while the power domain
|
executed instead of its subsystem's (e.g. bus type's) ->suspend() callback and
|
||||||
"resume" callbacks (i.e. ->runtime_resume(), ->resume(), ->thaw(), ->restore,
|
anlogously for all of the remaining callbacks. In other words, power management
|
||||||
etc.) are executed before the analogous subsystem-level callbacks. Error codes
|
domain callbacks, if defined for the given device, always take precedence over
|
||||||
returned by the "suspend" and "resume" power domain callbacks are ignored.
|
the callbacks provided by the device's subsystem (e.g. bus type).
|
||||||
|
|
||||||
Power domain ->runtime_idle() callback is executed before the subsystem-level
|
The support for device power management domains is only relevant to platforms
|
||||||
->runtime_idle() callback and the result returned by it is not ignored. Namely,
|
needing to use the same device driver power management callbacks in many
|
||||||
if it returns error code, the subsystem-level ->runtime_idle() callback will not
|
different power domain configurations and wanting to avoid incorporating the
|
||||||
be called and the helper function rpm_idle() executing it will return error
|
support for power domains into subsystem-level callbacks, for example by
|
||||||
code. This mechanism is intended to help platforms where saving device state
|
modifying the platform bus type. Other platforms need not implement it or take
|
||||||
is a time consuming operation and should only be carried out if all devices
|
it into account in any way.
|
||||||
in the power domain are idle, before turning off the shared power resource(s).
|
|
||||||
Namely, the power domain ->runtime_idle() callback may return error code until
|
|
||||||
the pm_runtime_idle() helper (or its asychronous version) has been called for
|
|
||||||
all devices in the power domain (it is recommended that the returned error code
|
|
||||||
be -EBUSY in those cases), preventing the subsystem-level ->runtime_idle()
|
|
||||||
callback from being run prematurely.
|
|
||||||
|
|
||||||
The support for device power domains is only relevant to platforms needing to
|
|
||||||
use the same subsystem-level (e.g. platform bus type) and device driver power
|
|
||||||
management callbacks in many different power domain configurations and wanting
|
|
||||||
to avoid incorporating the support for power domains into the subsystem-level
|
|
||||||
callbacks. The other platforms need not implement it or take it into account
|
|
||||||
in any way.
|
|
||||||
|
|
||||||
|
|
||||||
Device Low Power (suspend) States
|
Device Low Power (suspend) States
|
||||||
|
Loading…
Reference in New Issue
Block a user