Re: [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()
From: Maxwell Doose
Date: Thu Jun 04 2026 - 12:44:11 EST
On Thu, Jun 4, 2026 at 11:20 AM David Lechner <dlechner@xxxxxxxxxxxx> wrote:
>
> On Thu, Jun 4, 2026 at 3:17 PM Maxwell Doose <m32285159@xxxxxxxxx> 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.
> >
> > Signed-off-by: Maxwell Doose <m32285159@xxxxxxxxx>
> > ---
> > v2:
> > - Drop fixes tag per Jonathan's suggestion.
> > - Replace dev_err_probe() with return -ENOMEM per Jonathan and Andy's
> > suggestions.
> >
> > 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..198add58affd 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 -ENOMEM;
>
> Why are we ignoring ret?
>
> I would expect:
>
> return ret;
>
Gah, I must've Jonathan's + Andy's comments get to my head (He said it
should likely only return -ENOMEM) :(
I don't know if he'll want to tweak while applying or if I should just
go back and resubmit.