* [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()
@ 2026-06-04 13:15 Maxwell Doose
2026-06-04 13:50 ` Joshua Crofts
2026-06-04 16:19 ` David Lechner
0 siblings, 2 replies; 6+ messages in thread
From: Maxwell Doose @ 2026-06-04 13:15 UTC (permalink / raw)
To: jic23
Cc: Maxwell Doose, David Lechner, Nuno Sá, Andy Shevchenko,
open list:IIO SUBSYSTEM AND DRIVERS, open list
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>
---
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;
+
init_completion(&state->meas_ready);
dev_set_drvdata(dev, indio_dev);
--
2.54.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()
2026-06-04 13:15 [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init() Maxwell Doose
@ 2026-06-04 13:50 ` Joshua Crofts
2026-06-04 16:19 ` David Lechner
1 sibling, 0 replies; 6+ messages in thread
From: Joshua Crofts @ 2026-06-04 13:50 UTC (permalink / raw)
To: Maxwell Doose
Cc: jic23, David Lechner, Nuno Sá, Andy Shevchenko,
open list:IIO SUBSYSTEM AND DRIVERS, open list
On Thu, 4 Jun 2026 at 15:27, Maxwell Doose <m32285159@gmail.com> 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@gmail.com>
> ---
Reviewed-by: Joshua Crofts <joshua.crofts1@gmail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()
2026-06-04 13:15 [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init() Maxwell Doose
2026-06-04 13:50 ` Joshua Crofts
@ 2026-06-04 16:19 ` David Lechner
2026-06-04 16:21 ` Maxwell Doose
1 sibling, 1 reply; 6+ messages in thread
From: David Lechner @ 2026-06-04 16:19 UTC (permalink / raw)
To: Maxwell Doose
Cc: jic23, Nuno Sá, Andy Shevchenko,
open list:IIO SUBSYSTEM AND DRIVERS, open list
On Thu, Jun 4, 2026 at 3:17 PM Maxwell Doose <m32285159@gmail.com> 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@gmail.com>
> ---
> 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;
> +
> init_completion(&state->meas_ready);
>
> dev_set_drvdata(dev, indio_dev);
> --
> 2.54.0
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()
2026-06-04 16:19 ` David Lechner
@ 2026-06-04 16:21 ` Maxwell Doose
2026-06-04 20:58 ` Andy Shevchenko
2026-06-05 11:59 ` Jonathan Cameron
0 siblings, 2 replies; 6+ messages in thread
From: Maxwell Doose @ 2026-06-04 16:21 UTC (permalink / raw)
To: David Lechner
Cc: jic23, Nuno Sá, Andy Shevchenko,
open list:IIO SUBSYSTEM AND DRIVERS, open list
On Thu, Jun 4, 2026 at 11:20 AM David Lechner <dlechner@baylibre.com> wrote:
>
> On Thu, Jun 4, 2026 at 3:17 PM Maxwell Doose <m32285159@gmail.com> 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@gmail.com>
> > ---
> > 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.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()
2026-06-04 16:21 ` Maxwell Doose
@ 2026-06-04 20:58 ` Andy Shevchenko
2026-06-05 11:59 ` Jonathan Cameron
1 sibling, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2026-06-04 20:58 UTC (permalink / raw)
To: Maxwell Doose
Cc: David Lechner, jic23, Nuno Sá, Andy Shevchenko,
open list:IIO SUBSYSTEM AND DRIVERS, open list
On Thu, Jun 04, 2026 at 11:21:07AM -0500, Maxwell Doose wrote:
> On Thu, Jun 4, 2026 at 11:20 AM David Lechner <dlechner@baylibre.com> wrote:
> > On Thu, Jun 4, 2026 at 3:17 PM Maxwell Doose <m32285159@gmail.com> wrote:
...
> > > + 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.
What we meant is that:
- devm_mutex_init() may return only -ENOMEM as of today
- dev_err_probe() will ignore (print nothing) when err == -ENOMEM
It has nothing to do with the caller, we explained how callee do.
TL;DR: it should be simple return ret; as Jonathan said already.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init()
2026-06-04 16:21 ` Maxwell Doose
2026-06-04 20:58 ` Andy Shevchenko
@ 2026-06-05 11:59 ` Jonathan Cameron
1 sibling, 0 replies; 6+ messages in thread
From: Jonathan Cameron @ 2026-06-05 11:59 UTC (permalink / raw)
To: Maxwell Doose
Cc: David Lechner, Nuno Sá, Andy Shevchenko,
open list:IIO SUBSYSTEM AND DRIVERS, open list
On Thu, 4 Jun 2026 11:21:07 -0500
Maxwell Doose <m32285159@gmail.com> wrote:
> On Thu, Jun 4, 2026 at 11:20 AM David Lechner <dlechner@baylibre.com> wrote:
> >
> > On Thu, Jun 4, 2026 at 3:17 PM Maxwell Doose <m32285159@gmail.com> 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@gmail.com>
> > > ---
> > > 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.
IIO is effectively closed for this cycle so plenty of time and I'm lazy
so please send a v3.
Jonathan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-06-05 11:59 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-04 13:15 [PATCH v2] iio: chemical: scd30: Use devm_mutex_init() over non-devm mutex_init() Maxwell Doose
2026-06-04 13:50 ` Joshua Crofts
2026-06-04 16:19 ` David Lechner
2026-06-04 16:21 ` Maxwell Doose
2026-06-04 20:58 ` Andy Shevchenko
2026-06-05 11:59 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox