Flavio Ceolin
40780fdbeb
pm: device: Get rid of device_idx_t
...
It was just making the code hard to read. Also it was not following
the code guideline because the type was not telling us the sign
and size.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-27 14:35:27 -04:00
Flavio Ceolin
3dad4a068a
pm: device: Get rid of z_pm_core_devices
...
z_pm_core_devices was hack to set some priority between devices. It
was doing it hardcoding some devices that were the first to bring up
and the last to power down. Remove it and use the same list used to
initialize devices.
Fixes #34214
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-27 14:35:27 -04:00
Gerard Marull-Paretas
9b846351d9
pm: device: check for ENOSYS
...
If feature is not available -ENOSYS is used instead of -ENOTSUP.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-13 07:16:02 -05:00
Flavio Ceolin
0c607adb63
pm: device: Align state names with system states
...
Change device pm states to the same pattern used by system power
management.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-07 18:35:12 -04:00
Flavio Ceolin
4ce32edb76
power: device: Do not suspend a busy device
...
Check if a device is busy before suspend it.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-07 16:55:31 -04:00
Flavio Ceolin
9ac646f277
power: device: Don't wake up devices unnecessarily
...
Currently when the system goes to sleep it asks *all* devices that
support PM to suspend or go to a low power state, and the system wakes
up it put *all* suspended devices in active state, even if a device
was already suspended and not being used.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-07 16:55:31 -04:00
Gerard Marull-Paretas
56f1a8ce98
pm: rename PM_DEVICE_GET/SET_POWER_STATE to PM_DEVICE_STATE_GET/SET
...
Adjust name to be consistent with device PM naming conventions.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-05 18:35:49 -04:00
Gerard Marull-Paretas
7988ab4a26
pm: rename device_set/get_power_state to pm_device_set/get
...
Make name consistent with other device PM APIs.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-05 18:35:49 -04:00
Gerard Marull-Paretas
1e50e08bca
pm: move device_set/get_power_state to pm/device.h
...
These are device PM APIs, so move them to the device PM API header.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-05 18:35:49 -04:00
Gerard Marull-Paretas
7bfd3a11f3
device: rename device_pm_control to pm_control
...
Remove device_ prefix since it is redundant.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-05 18:35:49 -04:00
Gerard Marull-Paretas
570b43a70e
pm: rename device_pm_state_str to pm_device_state_str
...
Prefix all device PM functions/data structures with pm.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-05 18:35:49 -04:00
Gerard Marull-Paretas
2c7b763e47
pm: replace DEVICE_PM_* states with PM_DEVICE_*
...
Prefix device PM states with PM.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-05 18:35:49 -04:00
Gerard Marull-Paretas
99cbee3f16
pm: move power subsystem to pm
...
Adjust naming to make things consistent.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-05 18:35:49 -04:00