Re: [PATCH] iio: humidity: ens210: remove compiler warning workaround
From: Jonathan Cameron
Date: Fri May 22 2026 - 09:13:52 EST
On Fri, 22 May 2026 00:25:08 -0500
Maxwell Doose <m32285159@xxxxxxxxx> wrote:
> Hi David,
>
> On Thu, May 21, 2026 at 8:26 PM David Lechner <dlechner@xxxxxxxxxxxx> wrote:
> >
> > Rewrite IIO_CHAN_INFO_RAW case to avoid needing to add unreachable code
> > to work around a compiler warning.
> >
> > When scoped_guard() was first introduced, compilers could not see when
> > it returned unconditionally from inside the hidden for loop. This has
> > since been fixed in the macro definition. So removing the `return
> > -EINVAL` should be enough. Still, we can improve readability, decrease
> > indentation and avoid the hidden for loop by rewriting the case without
> > scoped_guard().
> >
> > Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx>
> > ---
> > drivers/iio/humidity/ens210.c | 19 ++++++++++---------
> > 1 file changed, 10 insertions(+), 9 deletions(-)
> >
> > diff --git a/drivers/iio/humidity/ens210.c b/drivers/iio/humidity/ens210.c
> > index 22ad208e6aa6..49543fc389bf 100644
> > --- a/drivers/iio/humidity/ens210.c
> > +++ b/drivers/iio/humidity/ens210.c
> > @@ -149,15 +149,16 @@ static int ens210_read_raw(struct iio_dev *indio_dev,
> > int ret;
> >
> > switch (mask) {
> > - case IIO_CHAN_INFO_RAW:
> > - scoped_guard(mutex, &data->lock) {
> > - ret = ens210_get_measurement(
> > - indio_dev, channel->type == IIO_TEMP, val);
> > - if (ret)
> > - return ret;
> > - return IIO_VAL_INT;
> > - }
> > - return -EINVAL; /* compiler warning workaround */
> > + case IIO_CHAN_INFO_RAW: {
> > + guard(mutex)(&data->lock);
> > +
> > + ret = ens210_get_measurement(indio_dev, channel->type == IIO_TEMP,
> > + val);
> > + if (ret)
> > + return ret;
> > +
> > + return IIO_VAL_INT;
> > + }
> > case IIO_CHAN_INFO_SCALE:
> > if (channel->type == IIO_TEMP) {
> > *val = 15;
> >
>
> I'm questioning how that initial commit got merged at all, they
> could've just used guard()() with {} (the kind of thing to make me
> want to take a look at this file even further!). Visually looks good
> to me but will follow-up later with rb if it all checks out.
The guard stuff was fairly new at the time so we were still working out what
patterns make sense. Took a little while for consensus to emerge!
Anyhow patch is obviously correct and a cleanup so applied to the testing
branch of iio.git. Happy to add tags etc for next few days
(or drop it if I'm missing something!)
Jonathan
>
> best regards,
> max
>
>
> > ---
> > base-commit: e1a29334a9c043defe7a9363fa76d399d3fdfbec
> > change-id: 20260521-iio-humidity-ens210-remove-hack-7c5a6496547c
> >
> > Best regards,
> > --
> > David Lechner <dlechner@xxxxxxxxxxxx>
> >
> >
>