[PATCH v4 6/8] iio: adc: ti-ads1015: Convert to managed resources

From: Archit Anant

Date: Thu Aug 27 2026 - 13:22:52 EST


Use managed resource helpers for the mutex and runtime PM setup.

Replace mutex_init() with devm_mutex_init() and replace the separate
pm_runtime_set_active() and devm_pm_runtime_enable() calls with
devm_pm_runtime_set_active_enabled().

This simplifies resource management and ensures resources are
automatically cleaned up on probe failure and device removal.

Signed-off-by: Archit Anant <architanant5@xxxxxxxxx>
---
drivers/iio/adc/ti-ads1015.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c
index ba4a01850531..a6dd85debc0e 100644
--- a/drivers/iio/adc/ti-ads1015.c
+++ b/drivers/iio/adc/ti-ads1015.c
@@ -959,7 +959,9 @@ static int ads1015_probe(struct i2c_client *client)
data = iio_priv(indio_dev);
i2c_set_clientdata(client, indio_dev);

- mutex_init(&data->lock);
+ ret = devm_mutex_init(dev, &data->lock);
+ if (ret)
+ return ret;

indio_dev->name = ADS1015_DRV_NAME;
indio_dev->modes = INDIO_DIRECT_MODE;
@@ -1044,12 +1046,9 @@ static int ads1015_probe(struct i2c_client *client)

data->conv_invalid = true;

- ret = pm_runtime_set_active(dev);
- if (ret)
- return ret;
pm_runtime_set_autosuspend_delay(dev, ADS1015_SLEEP_DELAY_MS);
pm_runtime_use_autosuspend(dev);
- ret = devm_pm_runtime_enable(dev);
+ ret = devm_pm_runtime_set_active_enabled(dev);
if (ret)
return ret;

--
2.39.5