zephyr/include/pm
Gerard Marull-Paretas e2f33dd97c pm: optimize resource usage
It is well known that PM subsystem has never been optimized in terms of
resource usage. The situation is particularly bad in case the PM runtime
API is enabled. What this patch does is to move the responsability of PM
resource definition to the device like this:

- Device is responsible to define PM resources, using a new set of
  macros: PM_DEVICE_*DEFINE().
- DEVICE_*DEFINE macro accepts a reference to the device PM state, which
  can be obtained using PM_DEVICE_*REF() set of macros. This
  allows device to initialize the dev->pm reference.

This method decouples a bit more PM from devices since devices just keep
a reference to the device PM state. It also means that future PM changes
will have less chances to impact all devices, but only devices that
support PM.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-11-19 10:11:32 +01:00
..
device.h pm: optimize resource usage 2021-11-19 10:11:32 +01:00
device_runtime.h pm: device: runtime: Add API to check if it is enabled 2021-11-08 19:54:12 -05:00
pm.h pm: Make pm_power_state_force multicore aware 2021-11-18 13:56:15 +01:00
policy.h pm: policy: Add cpu information in the API 2021-11-06 10:21:53 -04:00
state.h pm: state: make helper macros internal 2021-11-04 16:49:08 +01:00