pm: device: remove pointer usage for state

Since the state is no longer modified by the device PM callback, just
use the state value.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
diff --git a/drivers/display/display_st7735r.c b/drivers/display/display_st7735r.c
index 7f2d0f0..ce9456d 100644
--- a/drivers/display/display_st7735r.c
+++ b/drivers/display/display_st7735r.c
@@ -500,12 +500,12 @@
 }
 
 static int st7735r_pm_control(const struct device *dev,
-			      enum pm_device_state *state)
+			      enum pm_device_state state)
 {
 	int ret = 0;
 	struct st7735r_data *data = (struct st7735r_data *)dev->data;
 
-	if (*state == PM_DEVICE_STATE_ACTIVE) {
+	if (state == PM_DEVICE_STATE_ACTIVE) {
 		ret = st7735r_exit_sleep(data);
 		if (ret < 0) {
 			return ret;
diff --git a/drivers/display/display_st7789v.c b/drivers/display/display_st7789v.c
index fe6f1c4..ae93a7a 100644
--- a/drivers/display/display_st7789v.c
+++ b/drivers/display/display_st7789v.c
@@ -402,11 +402,11 @@
 }
 
 static int st7789v_pm_control(const struct device *dev,
-			      enum pm_device_state *state)
+			      enum pm_device_state state)
 {
 	struct st7789v_data *data = (struct st7789v_data *)dev->data;
 
-	if (*state == PM_DEVICE_STATE_ACTIVE) {
+	if (state == PM_DEVICE_STATE_ACTIVE) {
 		st7789v_exit_sleep(data);
 	} else {
 		st7789v_enter_sleep(data);
diff --git a/drivers/entropy/entropy_cc13xx_cc26xx.c b/drivers/entropy/entropy_cc13xx_cc26xx.c
index a6311d4..a1106d1 100644
--- a/drivers/entropy/entropy_cc13xx_cc26xx.c
+++ b/drivers/entropy/entropy_cc13xx_cc26xx.c
@@ -291,14 +291,14 @@
 }
 
 static int entropy_cc13xx_cc26xx_pm_control(const struct device *dev,
-					    enum pm_device_state *state)
+					    enum pm_device_state state)
 {
 	int ret = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		ret = entropy_cc13xx_cc26xx_set_power_state(dev, *state);
+	if (state != curr_state) {
+		ret = entropy_cc13xx_cc26xx_set_power_state(dev, state);
 	}
 
 	return ret;
diff --git a/drivers/ethernet/eth_mcux.c b/drivers/ethernet/eth_mcux.c
index bec0d6f..8105d98 100644
--- a/drivers/ethernet/eth_mcux.c
+++ b/drivers/ethernet/eth_mcux.c
@@ -185,7 +185,7 @@
 void eth_mcux_phy_stop(struct eth_context *context);
 
 static int eth_mcux_device_pm_control(const struct device *dev,
-				      enum pm_device_state *state)
+				      enum pm_device_state state)
 {
 	struct eth_context *eth_ctx = (struct eth_context *)dev->data;
 	int ret = 0;
@@ -197,7 +197,7 @@
 		goto out;
 	}
 
-	if (*state == PM_DEVICE_STATE_SUSPEND) {
+	if (state == PM_DEVICE_STATE_SUSPEND) {
 		LOG_DBG("Suspending");
 
 		ret = net_if_suspend(eth_ctx->iface);
@@ -212,7 +212,7 @@
 		ENET_Deinit(eth_ctx->base);
 		clock_control_off(eth_ctx->clock_dev,
 			(clock_control_subsys_t)eth_ctx->clock);
-	} else if (*state == PM_DEVICE_STATE_ACTIVE) {
+	} else if (state == PM_DEVICE_STATE_ACTIVE) {
 		LOG_DBG("Resuming");
 
 		clock_control_on(eth_ctx->clock_dev,
diff --git a/drivers/flash/spi_flash_at45.c b/drivers/flash/spi_flash_at45.c
index 3c63f1d..f0af4b4 100644
--- a/drivers/flash/spi_flash_at45.c
+++ b/drivers/flash/spi_flash_at45.c
@@ -625,15 +625,15 @@
 
 #if IS_ENABLED(CONFIG_PM_DEVICE)
 static int spi_flash_at45_pm_control(const struct device *dev,
-				     enum pm_device_state *state)
+				     enum pm_device_state state)
 {
 	const struct spi_flash_at45_config *dev_config = get_dev_config(dev);
 	int err = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		switch (*state) {
+	if (state != curr_state) {
+		switch (state) {
 		case PM_DEVICE_STATE_ACTIVE:
 			acquire(dev);
 			power_down_op(dev, CMD_EXIT_DPD,
diff --git a/drivers/gpio/gpio_dw.c b/drivers/gpio/gpio_dw.c
index be3b920..70febf2 100644
--- a/drivers/gpio/gpio_dw.c
+++ b/drivers/gpio/gpio_dw.c
@@ -442,13 +442,13 @@
 * the *context may include IN data or/and OUT data
 */
 static int gpio_dw_device_ctrl(const struct device *port,
-			       enum pm_device_state *state)
+			       enum pm_device_state state)
 {
 	int ret = 0;
 
-	if (*state == PM_DEVICE_STATE_SUSPEND) {
+	if (state == PM_DEVICE_STATE_SUSPEND) {
 		ret = gpio_dw_suspend_port(port);
-	} else if (*state == PM_DEVICE_STATE_ACTIVE) {
+	} else if (state == PM_DEVICE_STATE_ACTIVE) {
 		ret = gpio_dw_resume_from_suspend_port(port);
 	}
 
diff --git a/drivers/gpio/gpio_stm32.c b/drivers/gpio/gpio_stm32.c
index 9510a94..fb8b538 100644
--- a/drivers/gpio/gpio_stm32.c
+++ b/drivers/gpio/gpio_stm32.c
@@ -595,14 +595,14 @@
 }
 
 static int gpio_stm32_pm_device_ctrl(const struct device *dev,
-				     enum pm_device_state *state)
+				     enum pm_device_state state)
 {
 	int ret = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		ret = gpio_stm32_set_power_state(dev, *state);
+	if (state != curr_state) {
+		ret = gpio_stm32_set_power_state(dev, state);
 	}
 
 	return ret;
diff --git a/drivers/i2c/i2c_cc13xx_cc26xx.c b/drivers/i2c/i2c_cc13xx_cc26xx.c
index 46f9528..395e035 100644
--- a/drivers/i2c/i2c_cc13xx_cc26xx.c
+++ b/drivers/i2c/i2c_cc13xx_cc26xx.c
@@ -365,13 +365,13 @@
 }
 
 static int i2c_cc13xx_cc26xx_pm_control(const struct device *dev,
-					enum pm_device_state *state)
+					enum pm_device_state state)
 {
 	int ret = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
+	if (state != curr_state) {
 		ret = i2c_cc13xx_cc26xx_set_power_state(dev,
 			new_state);
 	}
diff --git a/drivers/i2c/i2c_nrfx_twi.c b/drivers/i2c/i2c_nrfx_twi.c
index 7a89740..43f43e3 100644
--- a/drivers/i2c/i2c_nrfx_twi.c
+++ b/drivers/i2c/i2c_nrfx_twi.c
@@ -217,14 +217,14 @@
 
 #ifdef CONFIG_PM_DEVICE
 static int twi_nrfx_pm_control(const struct device *dev,
-			       enum pm_device_state *state)
+			       enum pm_device_state state)
 {
 	int ret = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		switch (*state) {
+	if (state != curr_state) {
+		switch (state) {
 		case PM_DEVICE_STATE_ACTIVE:
 			init_twi(dev);
 			if (get_dev_data(dev)->dev_config) {
diff --git a/drivers/i2c/i2c_nrfx_twim.c b/drivers/i2c/i2c_nrfx_twim.c
index 2e8bcbc..a274983 100644
--- a/drivers/i2c/i2c_nrfx_twim.c
+++ b/drivers/i2c/i2c_nrfx_twim.c
@@ -255,14 +255,14 @@
 
 #ifdef CONFIG_PM_DEVICE
 static int twim_nrfx_pm_control(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
 	int ret = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		switch (*state) {
+	if (state != curr_state) {
+		switch (state) {
 		case PM_DEVICE_STATE_ACTIVE:
 			init_twim(dev);
 			if (get_dev_data(dev)->dev_config) {
diff --git a/drivers/interrupt_controller/intc_arcv2_irq_unit.c b/drivers/interrupt_controller/intc_arcv2_irq_unit.c
index 4c02ad5..d1407b4 100644
--- a/drivers/interrupt_controller/intc_arcv2_irq_unit.c
+++ b/drivers/interrupt_controller/intc_arcv2_irq_unit.c
@@ -175,14 +175,14 @@
  * @return operation result
  */
 static int arc_v2_irq_unit_device_ctrl(const struct device *dev,
-				       enum pm_device_state *state)
+				       enum pm_device_state state)
 {
 	int ret = 0;
 	unsigned int key = arch_irq_lock();
 
-	if (*state == PM_DEVICE_STATE_SUSPEND) {
+	if (state == PM_DEVICE_STATE_SUSPEND) {
 		ret = arc_v2_irq_unit_suspend(dev);
-	} else if (*state == PM_DEVICE_STATE_ACTIVE) {
+	} else if (state == PM_DEVICE_STATE_ACTIVE) {
 		ret = arc_v2_irq_unit_resume(dev);
 	}
 
diff --git a/drivers/interrupt_controller/intc_ioapic.c b/drivers/interrupt_controller/intc_ioapic.c
index ec2d219..61e11bf 100644
--- a/drivers/interrupt_controller/intc_ioapic.c
+++ b/drivers/interrupt_controller/intc_ioapic.c
@@ -310,13 +310,13 @@
 */
 __pinned_func
 static int ioapic_device_ctrl(const struct device *dev,
-			      enum pm_device_state *state)
+			      enum pm_device_state state)
 {
 	int ret = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	switch (*state) {
+	switch (state) {
 	case PM_DEVICE_STATE_LOW_POWER:
 		break;
 	case PM_DEVICE_STATE_ACTIVE:
diff --git a/drivers/interrupt_controller/intc_loapic.c b/drivers/interrupt_controller/intc_loapic.c
index 7c03ab5..2f77722 100644
--- a/drivers/interrupt_controller/intc_loapic.c
+++ b/drivers/interrupt_controller/intc_loapic.c
@@ -409,13 +409,13 @@
 */
 __pinned_func
 static int loapic_device_ctrl(const struct device *port,
-			      enum pm_device_state *state)
+			      enum pm_device_state state)
 {
 	int ret = 0;
 
-	if (*state == PM_DEVICE_STATE_SUSPEND) {
+	if (state == PM_DEVICE_STATE_SUSPEND) {
 		ret = loapic_suspend(port);
-	} else if (*state == PM_DEVICE_STATE_ACTIVE) {
+	} else if (state == PM_DEVICE_STATE_ACTIVE) {
 		ret = loapic_resume(port);
 	}
 
diff --git a/drivers/led/led_pwm.c b/drivers/led/led_pwm.c
index 465dfe2..ec5388b 100644
--- a/drivers/led/led_pwm.c
+++ b/drivers/led/led_pwm.c
@@ -143,9 +143,9 @@
 }
 
 static int led_pwm_pm_control(const struct device *dev,
-			      enum pm_device_state *state)
+			      enum pm_device_state state)
 {
-	return led_pwm_pm_set_state(dev, *state);
+	return led_pwm_pm_set_state(dev, state);
 }
 
 #endif /* CONFIG_PM_DEVICE */
diff --git a/drivers/pwm/pwm_nrfx.c b/drivers/pwm/pwm_nrfx.c
index 2a9b215..9845369 100644
--- a/drivers/pwm/pwm_nrfx.c
+++ b/drivers/pwm/pwm_nrfx.c
@@ -318,14 +318,14 @@
 }
 
 static int pwm_nrfx_pm_control(const struct device *dev,
-			       enum pm_device_state *state)
+			       enum pm_device_state state)
 {
 	int err = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != current_state) {
-		err = pwm_nrfx_set_power_state(*state, current_state, dev);
+	if (state != current_state) {
+		err = pwm_nrfx_set_power_state(state, current_state, dev);
 	}
 
 	return err;
@@ -333,7 +333,7 @@
 
 #define PWM_NRFX_PM_CONTROL(idx)					       \
 	static int pwm_##idx##_nrfx_pm_control(const struct device *dev,       \
-					       enum pm_device_state *state)    \
+					       enum pm_device_state state)     \
 	{								       \
 		return pwm_nrfx_pm_control(dev, state)			       \
 	}
diff --git a/drivers/sensor/apds9960/apds9960.c b/drivers/sensor/apds9960/apds9960.c
index 95defc1..464e467 100644
--- a/drivers/sensor/apds9960/apds9960.c
+++ b/drivers/sensor/apds9960/apds9960.c
@@ -409,13 +409,13 @@
 
 #ifdef CONFIG_PM_DEVICE
 static int apds9960_device_ctrl(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
 	const struct apds9960_config *config = dev->config;
 	struct apds9960_data *data = dev->data;
 	int ret = 0;
 
-	if (*state == PM_DEVICE_STATE_ACTIVE) {
+	if (state == PM_DEVICE_STATE_ACTIVE) {
 		if (i2c_reg_update_byte(data->i2c, config->i2c_address,
 					APDS9960_ENABLE_REG,
 					APDS9960_ENABLE_PON,
diff --git a/drivers/sensor/bme280/bme280.c b/drivers/sensor/bme280/bme280.c
index 49d4f79..95114cf 100644
--- a/drivers/sensor/bme280/bme280.c
+++ b/drivers/sensor/bme280/bme280.c
@@ -410,13 +410,13 @@
 }
 
 #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_state state)
 {
 	int ret = 0;
 	enum pm_device_state curr_state;
 
 	pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
+	if (state != curr_state) {
 
 		/* Switching from OFF to any */
 		if (curr_state == PM_DEVICE_STATE_OFF) {
@@ -425,7 +425,7 @@
 			ret = bme280_chip_init(dev);
 		}
 		/* Switching to OFF from any */
-		else if (*state == PM_DEVICE_STATE_OFF) {
+		else if (state == PM_DEVICE_STATE_OFF) {
 
 			/* Put the chip into sleep mode */
 			ret = bme280_reg_write(dev,
diff --git a/drivers/sensor/bmp388/bmp388.c b/drivers/sensor/bmp388/bmp388.c
index f35b690..c7775f7 100644
--- a/drivers/sensor/bmp388/bmp388.c
+++ b/drivers/sensor/bmp388/bmp388.c
@@ -583,11 +583,11 @@
 
 static int bmp388_device_ctrl(
 	const struct device *dev,
-	enum pm_device_state *state)
+	enum pm_device_state state)
 {
 	int ret = 0;
 
-	ret = bmp388_set_power_state(dev, *state);
+	ret = bmp388_set_power_state(dev, state);
 
 	return ret;
 }
diff --git a/drivers/sensor/bq274xx/bq274xx.c b/drivers/sensor/bq274xx/bq274xx.c
index 5fd2932..5c7c46f 100644
--- a/drivers/sensor/bq274xx/bq274xx.c
+++ b/drivers/sensor/bq274xx/bq274xx.c
@@ -732,17 +732,17 @@
 }
 
 static int bq274xx_pm_control(const struct device *dev,
-			      enum pm_device_state *state)
+			      enum pm_device_state state)
 {
 	int ret = 0;
 	struct bq274xx_data *data = dev->data;
 
-	if (*state == PM_DEVICE_STATE_OFF) {
+	if (state == PM_DEVICE_STATE_OFF) {
 		ret = bq274xx_enter_shutdown_mode(data);
 		if (ret < 0) {
 			LOG_ERR("Unable to enter off state");
 		}
-	} else if (*state == PM_DEVICE_STATE_ACTIVE) {
+	} else if (state == PM_DEVICE_STATE_ACTIVE) {
 		ret = bq274xx_exit_shutdown_mode(dev);
 		if (ret < 0) {
 			LOG_ERR("Unable to enter active state");
diff --git a/drivers/sensor/fdc2x1x/fdc2x1x.c b/drivers/sensor/fdc2x1x/fdc2x1x.c
index c7f710f..52f2746 100644
--- a/drivers/sensor/fdc2x1x/fdc2x1x.c
+++ b/drivers/sensor/fdc2x1x/fdc2x1x.c
@@ -535,7 +535,7 @@
 }
 
 static int fdc2x1x_device_pm_ctrl(const struct device *dev,
-				  enum pm_device_state *state)
+				  enum pm_device_state state)
 {
 	struct fdc2x1x_data *data = dev->data;
 	int ret = 0;
@@ -543,12 +543,12 @@
 
 	(void)pm_device_state_get(dev, &curr_state);
 
-	if (*state != curr_state) {
-		switch (*state) {
+	if (state != curr_state) {
+		switch (state) {
 		case PM_DEVICE_STATE_ACTIVE:
 		case PM_DEVICE_STATE_LOW_POWER:
 		case PM_DEVICE_STATE_OFF:
-			ret = fdc2x1x_set_pm_state(dev, *state);
+			ret = fdc2x1x_set_pm_state(dev, state);
 			break;
 		default:
 			LOG_ERR("PM state not supported");
diff --git a/drivers/sensor/lis2mdl/lis2mdl.c b/drivers/sensor/lis2mdl/lis2mdl.c
index 7da0500..30f6d64 100644
--- a/drivers/sensor/lis2mdl/lis2mdl.c
+++ b/drivers/sensor/lis2mdl/lis2mdl.c
@@ -476,7 +476,7 @@
 }
 
 static int lis2mdl_pm_control(const struct device *dev,
-			      enum pm_device_state *state)
+			      enum pm_device_state state)
 {
 	struct lis2mdl_data *lis2mdl = dev->data;
 	const struct lis2mdl_config *const config = dev->config;
@@ -484,8 +484,8 @@
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		status = lis2mdl_set_power_state(lis2mdl, config, *state);
+	if (state != curr_state) {
+		status = lis2mdl_set_power_state(lis2mdl, config, state);
 	}
 
 	return status;
diff --git a/drivers/sensor/qdec_nrfx/qdec_nrfx.c b/drivers/sensor/qdec_nrfx/qdec_nrfx.c
index 09c9598..d7b9057 100644
--- a/drivers/sensor/qdec_nrfx/qdec_nrfx.c
+++ b/drivers/sensor/qdec_nrfx/qdec_nrfx.c
@@ -240,14 +240,14 @@
 }
 
 static int qdec_nrfx_pm_control(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
 	struct qdec_nrfx_data *data = &qdec_nrfx_data;
 	int err;
 
 	LOG_DBG("");
 
-	err = qdec_nrfx_pm_set_state(data, *state);
+	err = qdec_nrfx_pm_set_state(data, state);
 
 	return err;
 }
diff --git a/drivers/sensor/sgp40/sgp40.c b/drivers/sensor/sgp40/sgp40.c
index 7e9c5ce..a813d60 100644
--- a/drivers/sensor/sgp40/sgp40.c
+++ b/drivers/sensor/sgp40/sgp40.c
@@ -218,9 +218,9 @@
 	return 0;
 }
 
-static int sgp40_pm_ctrl(const struct device *dev, enum pm_device_state *state)
+static int sgp40_pm_ctrl(const struct device *dev, enum pm_device_state state)
 {
-	return sgp40_set_power_state(dev, *state);
+	return sgp40_set_power_state(dev, state);
 }
 #endif /* CONFIG_PM_DEVICE */
 
diff --git a/drivers/sensor/vcnl4040/vcnl4040.c b/drivers/sensor/vcnl4040/vcnl4040.c
index 96d34dd..aaf4676 100644
--- a/drivers/sensor/vcnl4040/vcnl4040.c
+++ b/drivers/sensor/vcnl4040/vcnl4040.c
@@ -219,7 +219,7 @@
 
 #ifdef CONFIG_PM_DEVICE
 static int vcnl4040_device_ctrl(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
 	int ret = 0;
 	uint16_t ps_conf;
@@ -234,7 +234,7 @@
 	if (ret < 0)
 		return ret;
 #endif
-	if (*state == PM_DEVICE_STATE_ACTIVE) {
+	if (state == PM_DEVICE_STATE_ACTIVE) {
 		/* Clear proximity shutdown */
 		ps_conf &= ~VCNL4040_PS_SD_MASK;
 
diff --git a/drivers/serial/uart_cc13xx_cc26xx.c b/drivers/serial/uart_cc13xx_cc26xx.c
index a4d81e8..fa4bf73 100644
--- a/drivers/serial/uart_cc13xx_cc26xx.c
+++ b/drivers/serial/uart_cc13xx_cc26xx.c
@@ -441,14 +441,14 @@
 }
 
 static int uart_cc13xx_cc26xx_pm_control(const struct device *dev,
-					 enum pm_device_state *state)
+					 enum pm_device_state state)
 {
 	int ret = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		ret = uart_cc13xx_cc26xx_set_power_state(dev, *state);
+	if (state != curr_state) {
+		ret = uart_cc13xx_cc26xx_set_power_state(dev, state);
 	}
 
 	return ret;
diff --git a/drivers/serial/uart_npcx.c b/drivers/serial/uart_npcx.c
index b3b8a91..62fd755 100644
--- a/drivers/serial/uart_npcx.c
+++ b/drivers/serial/uart_npcx.c
@@ -458,9 +458,9 @@
 
 /* Implements the device power management control functionality */
 static int uart_npcx_pm_control(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
-	return uart_npcx_set_power_state(dev, *state);
+	return uart_npcx_set_power_state(dev, state);
 }
 #endif /* CONFIG_PM_DEVICE */
 
diff --git a/drivers/serial/uart_nrfx_uart.c b/drivers/serial/uart_nrfx_uart.c
index 4486d70..5851248 100644
--- a/drivers/serial/uart_nrfx_uart.c
+++ b/drivers/serial/uart_nrfx_uart.c
@@ -1159,13 +1159,13 @@
 }
 
 static int uart_nrfx_pm_control(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
 	enum pm_device_state current_state;
 
 	(void)pm_device_state_get(dev, &current_state);
-	if (*state != current_state) {
-		uart_nrfx_set_power_state(dev, *state);
+	if (state != current_state) {
+		uart_nrfx_set_power_state(dev, state);
 	}
 
 	return 0;
diff --git a/drivers/serial/uart_nrfx_uarte.c b/drivers/serial/uart_nrfx_uarte.c
index 474c586..2b98d48 100644
--- a/drivers/serial/uart_nrfx_uarte.c
+++ b/drivers/serial/uart_nrfx_uarte.c
@@ -1922,13 +1922,13 @@
 }
 
 static int uarte_nrfx_pm_control(const struct device *dev,
-				 enum pm_device_state *state)
+				 enum pm_device_state state)
 {
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		uarte_nrfx_set_power_state(dev, *state);
+	if (state != curr_state) {
+		uarte_nrfx_set_power_state(dev, state);
 	}
 
 	return 0;
diff --git a/drivers/serial/uart_stm32.c b/drivers/serial/uart_stm32.c
index 7d65a76..3581386 100644
--- a/drivers/serial/uart_stm32.c
+++ b/drivers/serial/uart_stm32.c
@@ -1460,13 +1460,13 @@
  * @return 0
  */
 static int uart_stm32_pm_control(const struct device *dev,
-				 enum pm_device_state *state)
+				 enum pm_device_state state)
 {
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		uart_stm32_set_power_state(dev, *state);
+	if (state != curr_state) {
+		uart_stm32_set_power_state(dev, state);
 	}
 
 	return 0;
diff --git a/drivers/spi/spi_cc13xx_cc26xx.c b/drivers/spi/spi_cc13xx_cc26xx.c
index ede932e..73a9d83 100644
--- a/drivers/spi/spi_cc13xx_cc26xx.c
+++ b/drivers/spi/spi_cc13xx_cc26xx.c
@@ -248,14 +248,14 @@
 }
 
 static int spi_cc13xx_cc26xx_pm_control(const struct device *dev,
-					enum pm_device_state *state)
+					enum pm_device_state state)
 {
 	int ret = 0;
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		ret = spi_cc13xx_cc26xx_set_power_state(dev, *state);
+	if (state != curr_state) {
+		ret = spi_cc13xx_cc26xx_set_power_state(dev, state);
 	}
 
 	return ret;
diff --git a/drivers/spi/spi_nrfx_spi.c b/drivers/spi/spi_nrfx_spi.c
index d87bfaf..709fe9c 100644
--- a/drivers/spi/spi_nrfx_spi.c
+++ b/drivers/spi/spi_nrfx_spi.c
@@ -278,7 +278,7 @@
 
 #ifdef CONFIG_PM_DEVICE
 static int spi_nrfx_pm_control(const struct device *dev,
-			       enum pm_device_state *state)
+			       enum pm_device_state state)
 {
 	int ret = 0;
 	struct spi_nrfx_data *data = get_dev_data(dev);
@@ -286,8 +286,8 @@
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		switch (*state) {
+	if (state != curr_state) {
+		switch (state) {
 		case PM_DEVICE_STATE_ACTIVE:
 			ret = init_spi(dev);
 			/* Force reconfiguration before next transfer */
diff --git a/drivers/spi/spi_nrfx_spim.c b/drivers/spi/spi_nrfx_spim.c
index 0695a31..e9f4598 100644
--- a/drivers/spi/spi_nrfx_spim.c
+++ b/drivers/spi/spi_nrfx_spim.c
@@ -325,7 +325,7 @@
 
 #ifdef CONFIG_PM_DEVICE
 static int spim_nrfx_pm_control(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
 	int ret = 0;
 	struct spi_nrfx_data *data = get_dev_data(dev);
@@ -333,8 +333,8 @@
 	enum pm_device_state curr_state;
 
 	(void)pm_device_state_get(dev, &curr_state);
-	if (*state != curr_state) {
-		switch (*state) {
+	if (state != curr_state) {
+		switch (state) {
 		case PM_DEVICE_STATE_ACTIVE:
 			ret = init_spim(dev);
 			/* Force reconfiguration before next transfer */
diff --git a/drivers/timer/sys_clock_init.c b/drivers/timer/sys_clock_init.c
index 7e892e0..ab55a00 100644
--- a/drivers/timer/sys_clock_init.c
+++ b/drivers/timer/sys_clock_init.c
@@ -31,7 +31,7 @@
 }
 
 int __weak sys_clock_device_ctrl(const struct device *dev,
-				 enum pm_device_state *state)
+				 enum pm_device_state state)
 {
 	return -ENOSYS;
 }
diff --git a/include/device.h b/include/device.h
index de8ac09..7f93d26 100644
--- a/include/device.h
+++ b/include/device.h
@@ -385,7 +385,7 @@
 #ifdef CONFIG_PM_DEVICE
 	/** Power Management function */
 	int (*pm_control)(const struct device *dev,
-			  enum pm_device_state *state);
+			  enum pm_device_state state);
 	/** Pointer to device instance power management data */
 	struct pm_device * const pm;
 #endif
diff --git a/include/drivers/timer/system_timer.h b/include/drivers/timer/system_timer.h
index 61b7a24..7b7da3d 100644
--- a/include/drivers/timer/system_timer.h
+++ b/include/drivers/timer/system_timer.h
@@ -47,7 +47,7 @@
  * if undefined in the clock driver.
  */
 extern int clock_device_ctrl(const struct device *dev,
-			     enum pm_device_state *state);
+			     enum pm_device_state state);
 
 /**
  * @brief Set system clock timeout
diff --git a/samples/subsys/pm/device_pm/src/dummy_driver.c b/samples/subsys/pm/device_pm/src/dummy_driver.c
index 8e2f461..333b123 100644
--- a/samples/subsys/pm/device_pm/src/dummy_driver.c
+++ b/samples/subsys/pm/device_pm/src/dummy_driver.c
@@ -87,9 +87,9 @@
 }
 
 static int dummy_device_pm_ctrl(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
-	if (*state == PM_DEVICE_STATE_ACTIVE) {
+	if (state == PM_DEVICE_STATE_ACTIVE) {
 		printk("child resuming..\n");
 	} else {
 		printk("child suspending..\n");
diff --git a/samples/subsys/pm/device_pm/src/dummy_parent.c b/samples/subsys/pm/device_pm/src/dummy_parent.c
index 8a9f57d..f3be37a 100644
--- a/samples/subsys/pm/device_pm/src/dummy_parent.c
+++ b/samples/subsys/pm/device_pm/src/dummy_parent.c
@@ -25,9 +25,9 @@
 }
 
 static int dummy_parent_pm_ctrl(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
-	if (*state == PM_DEVICE_STATE_ACTIVE) {
+	if (state == PM_DEVICE_STATE_ACTIVE) {
 		printk("parent resuming..\n");
 	} else {
 		printk("parent suspending..\n");
diff --git a/subsys/pm/device.c b/subsys/pm/device.c
index 936541a..d05cb1c 100644
--- a/subsys/pm/device.c
+++ b/subsys/pm/device.c
@@ -137,7 +137,7 @@
 		return -ENOSYS;
 	}
 
-	ret = dev->pm_control(dev, &device_power_state);
+	ret = dev->pm_control(dev, device_power_state);
 	if (ret < 0) {
 		return ret;
 	}
diff --git a/tests/net/pm/src/main.c b/tests/net/pm/src/main.c
index 9abb81c..42e1a29 100644
--- a/tests/net/pm/src/main.c
+++ b/tests/net/pm/src/main.c
@@ -22,17 +22,17 @@
 };
 
 static int fake_dev_pm_control(const struct device *dev,
-			       enum pm_device_state *state)
+			       enum pm_device_state state)
 {
 	struct fake_dev_context *ctx = dev->data;
 	int ret = 0;
 
-	if (*state == PM_DEVICE_STATE_SUSPEND) {
+	if (state == PM_DEVICE_STATE_SUSPEND) {
 		ret = net_if_suspend(ctx->iface);
 		if (ret == -EBUSY) {
 			goto out;
 		}
-	} else if (*state == PM_DEVICE_STATE_ACTIVE) {
+	} else if (state == PM_DEVICE_STATE_ACTIVE) {
 		ret = net_if_resume(ctx->iface);
 	}
 
diff --git a/tests/subsys/pm/device_runtime/src/dummy_driver.c b/tests/subsys/pm/device_runtime/src/dummy_driver.c
index b91c10c..9c597a3 100644
--- a/tests/subsys/pm/device_runtime/src/dummy_driver.c
+++ b/tests/subsys/pm/device_runtime/src/dummy_driver.c
@@ -35,7 +35,7 @@
 }
 
 static int dummy_device_pm_ctrl(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
 	return 0;
 }
diff --git a/tests/subsys/pm/power_mgmt/src/dummy_driver.c b/tests/subsys/pm/power_mgmt/src/dummy_driver.c
index 7b37346..7888519 100644
--- a/tests/subsys/pm/power_mgmt/src/dummy_driver.c
+++ b/tests/subsys/pm/power_mgmt/src/dummy_driver.c
@@ -20,7 +20,7 @@
 }
 
 static int dummy_device_pm_ctrl(const struct device *dev,
-				enum pm_device_state *state)
+				enum pm_device_state state)
 {
 	return 0;
 }