[PATCH v2 5/6] iio: light: vcnl4000: make pm_runtime_enable() device-managed
From: Erikas Bitovtas
Date: Sun Apr 05 2026 - 12:11:58 EST
Replace pm_runtime_set_active() and pm_runtime_enable() with their
device-managed counterpart to remove them from vcnl4000_remove().
Signed-off-by: Erikas Bitovtas <xerikasxx@xxxxxxxxx>
---
drivers/iio/light/vcnl4000.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
index d28c7abe7642..556dc9afa82c 100644
--- a/drivers/iio/light/vcnl4000.c
+++ b/drivers/iio/light/vcnl4000.c
@@ -2055,18 +2055,17 @@ static int vcnl4000_probe(struct i2c_client *client)
return ret;
}
- ret = pm_runtime_set_active(dev);
+ ret = devm_pm_runtime_set_active_enabled(dev);
if (ret < 0)
return ret;
+ pm_runtime_set_autosuspend_delay(dev, VCNL4000_SLEEP_DELAY_MS);
+ pm_runtime_use_autosuspend(dev);
+
ret = iio_device_register(indio_dev);
if (ret < 0)
return ret;
- pm_runtime_enable(dev);
- pm_runtime_set_autosuspend_delay(dev, VCNL4000_SLEEP_DELAY_MS);
- pm_runtime_use_autosuspend(dev);
-
return 0;
}
@@ -2087,10 +2086,7 @@ static void vcnl4000_remove(struct i2c_client *client)
{
struct iio_dev *indio_dev = i2c_get_clientdata(client);
- pm_runtime_dont_use_autosuspend(&client->dev);
- pm_runtime_disable(&client->dev);
iio_device_unregister(indio_dev);
- pm_runtime_set_suspended(&client->dev);
}
static int vcnl4000_runtime_suspend(struct device *dev)
--
2.53.0