[PATCH v3 3/3] iio: accel: adxl372: convert to guard(mutex)

From: Rajveer Chaudhari

Date: Sat Mar 07 2026 - 05:19:21 EST


Replace manual mutex_lock/mutex_unlock pair with guard(mutex) in
adxl372_write_threshold_value(). Remove goto label and return
directly on error path.

v3: Return directly from error path without goto.
v2: Split into separate patch per driver.

Signed-off-by: Rajveer Chaudhari <rajveer.chaudhari.linux@xxxxxxxxx>
---
drivers/iio/accel/adxl372.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c
index 28a8793a53b6..340433782cf2 100644
--- a/drivers/iio/accel/adxl372.c
+++ b/drivers/iio/accel/adxl372.c
@@ -7,6 +7,7 @@

#include <linux/bitfield.h>
#include <linux/bitops.h>
+#include <linux/cleanup.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/module.h>
@@ -334,20 +335,15 @@ static ssize_t adxl372_write_threshold_value(struct iio_dev *indio_dev, unsigned
u16 threshold)
{
struct adxl372_state *st = iio_priv(indio_dev);
- int ret;

- mutex_lock(&st->threshold_m);
- ret = regmap_write(st->regmap, addr, ADXL372_THRESH_VAL_H_SEL(threshold));
+ guard(mutex)(&st->threshold_m);
+
+ int ret = regmap_write(st->regmap, addr, ADXL372_THRESH_VAL_H_SEL(threshold));
if (ret < 0)
- goto unlock;
+ return ret;

- ret = regmap_update_bits(st->regmap, addr + 1, GENMASK(7, 5),
+ return regmap_update_bits(st->regmap, addr + 1, GENMASK(7, 5),
ADXL372_THRESH_VAL_L_SEL(threshold) << 5);
-
-unlock:
- mutex_unlock(&st->threshold_m);
-
- return ret;
}

static int adxl372_read_axis(struct adxl372_state *st, u8 addr)
--
2.53.0