Skip to content

Commit 62e2952

Browse files
Flavio Ceolinnashif
authored andcommitted
docs: pm: Device pm fixes and enhancements
- idle/runtime - Information about asynchronous calls and how to use the condition variable - More details about usage count Signed-off-by: Flavio Ceolin <[email protected]>
1 parent 90be4b6 commit 62e2952

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

doc/reference/power_management/index.rst

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -376,44 +376,43 @@ Check Busy Status of All Devices API
376376
377377
Checks if any device is busy. The API returns 0 if no device in the system is busy.
378378

379-
Device Idle Power Management
380-
****************************
379+
Device Runtime Power Management
380+
*******************************
381381

382-
383-
The Device Idle Power Management framework is a Active Power
382+
The Device Runtime Power Management framework is an Active Power
384383
Management mechanism which reduces the overall system Power consumtion
385384
by suspending the devices which are idle or not being used while the
386385
System is active or running.
387386

388387
The framework uses :c:func:`pm_device_state_set()` API set the
389388
device power state accordingly based on the usage count.
390389

391-
The interfaces and APIs provided by the Device Idle PM are
390+
The interfaces and APIs provided by the Device Runtime PM are
392391
designed to be generic and architecture independent.
393392

394-
Device Idle Power Management API
395-
================================
393+
Device Runtime Power Management API
394+
===================================
396395

397-
The Device Drivers use these APIs to perform device idle power management
398-
operations on the devices.
396+
The Device Drivers use these APIs to perform device runtime power
397+
management operations on the devices.
399398

400-
Enable Device Idle Power Management of a Device API
401-
---------------------------------------------------
399+
Enable Device Runtime Power Management of a Device API
400+
------------------------------------------------------
402401

403402
.. code-block:: c
404403
405404
void pm_device_enable(const struct device *dev);
406405
407-
Enables Idle Power Management of the device.
406+
Enables Runtime Power Management of the device.
408407

409-
Disable Device Idle Power Management of a Device API
410-
----------------------------------------------------
408+
Disable Device Runtime Power Management of a Device API
409+
-------------------------------------------------------
411410

412411
.. code-block:: c
413412
414413
void pm_device_disable(const struct device *dev);
415414
416-
Disables Idle Power Management of the device.
415+
Disables Runtime Power Management of the device.
417416

418417
Resume Device asynchronously API
419418
--------------------------------
@@ -423,7 +422,12 @@ Resume Device asynchronously API
423422
int pm_device_get(const struct device *dev);
424423
425424
Marks the device as being used. This API will asynchronously
426-
bring the device to resume state. The API returns 0 on success.
425+
bring the device to resume state if it was suspended. If the device
426+
was already active, it just increments the device usage count.
427+
The API returns 0 on success.
428+
429+
Device drivers can monitor this operation to finish calling
430+
:c:func:`pm_device_wait`.
427431

428432
Resume Device synchronously API
429433
-------------------------------
@@ -444,9 +448,12 @@ Suspend Device asynchronously API
444448
445449
int pm_device_put(const struct device *dev);
446450
447-
Marks the device as being released. This API asynchronously put
448-
the device to suspend state if not already in suspend state.
449-
The API returns 0 on success.
451+
Releases a device. This API asynchronously puts the device to suspend
452+
state if not already in suspend state if the usage count of this device
453+
reaches 0.
454+
455+
Device drivers can monitor this operation to finish calling
456+
:c:func:`pm_device_wait`.
450457

451458
Suspend Device synchronously API
452459
--------------------------------

0 commit comments

Comments
 (0)