pm: use actions for device PM control

Instead of passing target states, use actions for device PM control.
Actions represent better the meaning of the callback argument.
Furthermore, they are more future proof as they can be suitable for
other PM actions that have no direct mapping to a state. If we compare
with Linux, we could have a multi-stage suspend/resume. Such scenario
would not have a good mapping when using target states.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit is contained in:
Gerard Marull-Paretas 2021-07-05 15:13:40 +02:00 committed by Anas Nashif
commit 7ccc1a41bc
40 changed files with 176 additions and 145 deletions

View file

@ -410,16 +410,16 @@ static int bme280_chip_init(const struct device *dev)
}
#ifdef CONFIG_PM_DEVICE
int bme280_pm_ctrl(const struct device *dev, enum pm_device_state state)
int bme280_pm_ctrl(const struct device *dev, enum pm_device_action action)
{
int ret = 0;
switch (state) {
case PM_DEVICE_STATE_ACTIVE:
switch (action) {
case PM_DEVICE_ACTION_RESUME:
/* Re-initialize the chip */
ret = bme280_chip_init(dev);
break;
case PM_DEVICE_STATE_SUSPENDED:
case PM_DEVICE_ACTION_SUSPEND:
/* Put the chip into sleep mode */
ret = bme280_reg_write(dev,
BME280_REG_CTRL_MEAS,