[PATCH v3] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()

Maxwell Doose posted 1 patch 2 days, 4 hours ago
drivers/iio/chemical/scd30_core.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH v3] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()
Posted by Maxwell Doose 2 days, 4 hours ago
The current code uses mutex_init() instead of devm_mutex_init(), which
is incorrect as the rest of the file uses the devm automatic resource
management API. Fix this so that the mutex is set up in the same way as
the rest of the device data structure.

Signed-off-by: Maxwell Doose <m32285159@gmail.com>
---
 v3:
 - Return ret instead of -ENOMEM.

 drivers/iio/chemical/scd30_core.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/chemical/scd30_core.c b/drivers/iio/chemical/scd30_core.c
index db5cc295aeab..f1f2507c03b2 100644
--- a/drivers/iio/chemical/scd30_core.c
+++ b/drivers/iio/chemical/scd30_core.c
@@ -714,7 +714,10 @@ int scd30_probe(struct device *dev, int irq, const char *name, void *priv,
 	state->pressure_comp = SCD30_PRESSURE_COMP_DEFAULT;
 	state->meas_interval = SCD30_MEAS_INTERVAL_DEFAULT;
 	state->command = command;
-	mutex_init(&state->lock);
+	ret = devm_mutex_init(dev, &state->lock);
+	if (ret)
+		return ret;
+
 	init_completion(&state->meas_ready);
 
 	dev_set_drvdata(dev, indio_dev);
-- 
2.54.0
Re: [PATCH v3] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()
Posted by Andy Shevchenko 1 day, 23 hours ago
On Fri, Jun 05, 2026 at 07:42:04PM -0500, Maxwell Doose wrote:
> The current code uses mutex_init() instead of devm_mutex_init(), which
> is incorrect as the rest of the file uses the devm automatic resource
> management API. Fix this so that the mutex is set up in the same way as
> the rest of the device data structure.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>

...

>  	state->meas_interval = SCD30_MEAS_INTERVAL_DEFAULT;
>  	state->command = command;

+ blank line here.

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

-- 
With Best Regards,
Andy Shevchenko