pm: use enum for device PM states

Move all PM_DEVICE_STATE_* definitions to an enum. The
PM_DEVICE_STATE_SET and PM_DEVICE_STATE_GET definitions have been kept
out of the enum since they do not represent any state. However, their
name has not been changed since they will be removed soon.

All drivers and tests have been adjusted accordingly.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit is contained in:
Gerard Marull-Paretas 2021-06-03 19:06:53 +02:00 committed by Anas Nashif
commit cc2f0e9c08
53 changed files with 214 additions and 231 deletions

View file

@ -68,7 +68,7 @@ struct st7735r_data {
uint16_t x_offset;
uint16_t y_offset;
#ifdef CONFIG_PM_DEVICE
uint32_t pm_state;
enum pm_device_state pm_state;
#endif
};
@ -520,14 +520,15 @@ static int st7735r_enter_sleep(struct st7735r_data *data)
}
static int st7735r_pm_control(const struct device *dev, uint32_t ctrl_command,
uint32_t *state, pm_device_cb cb, void *arg)
enum pm_device_state *state,
pm_device_cb cb, void *arg)
{
int ret = 0;
struct st7735r_data *data = (struct st7735r_data *)dev->data;
switch (ctrl_command) {
case PM_DEVICE_STATE_SET:
if (*((uint32_t *)context) == PM_DEVICE_STATE_ACTIVE) {
if (*state == PM_DEVICE_STATE_ACTIVE) {
ret = st7735r_exit_sleep(data);
if (ret < 0) {
return ret;

View file

@ -53,7 +53,7 @@ struct st7789v_data {
uint16_t x_offset;
uint16_t y_offset;
#ifdef CONFIG_PM_DEVICE
uint32_t pm_state;
enum pm_device_state pm_state;
#endif
};
@ -409,7 +409,7 @@ static void st7789v_enter_sleep(struct st7789v_data *data)
}
static int st7789v_pm_control(const struct device *dev, uint32_t ctrl_command,
uint32_t *state, pm_device_cb cb, void *arg)
enum pm_device_state *state, pm_device_cb cb, void *arg)
{
int ret = 0;
struct st7789v_data *data = (struct st7789v_data *)dev->data;