[PATCH v4 6/8] iio: adc: ti-ads1015: Convert to managed resources
Archit Anant <[email protected]>
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> --- 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