[PATCH] iio: humidity: ens210: remove compiler warning workaround

From: David Lechner

Date: Thu May 21 2026 - 21:26:31 EST


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;

---
base-commit: e1a29334a9c043defe7a9363fa76d399d3fdfbec
change-id: 20260521-iio-humidity-ens210-remove-hack-7c5a6496547c

Best regards,
--
David Lechner <dlechner@xxxxxxxxxxxx>