]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: accel: adxl313: convert to guard(mutex)
authorRajveer Chaudhari <rajveer.chaudhari.linux@gmail.com>
Sat, 7 Mar 2026 11:49:11 +0000 (17:19 +0530)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 14 Mar 2026 12:10:22 +0000 (12:10 +0000)
Replace manual mutex_lock/mutex_unlock pair with guard(mutex) in
adxl313_read_axis(). This ensures the mutex is released on all
return paths and allows returning directly without a goto label.

Signed-off-by: Rajveer Chaudhari <rajveer.chaudhari.linux@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/adxl313_core.c

index 9f5d4d2cb325b3b6b2e7d70c96748d74b0aaa071..084037c89ad30c01be3da5944f0f232bf70793dd 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include <linux/bitfield.h>
+#include <linux/cleanup.h>
 #include <linux/interrupt.h>
 #include <linux/module.h>
 #include <linux/overflow.h>
@@ -356,19 +357,15 @@ static int adxl313_read_axis(struct adxl313_data *data,
 {
        int ret;
 
-       mutex_lock(&data->lock);
+       guard(mutex)(&data->lock);
 
        ret = regmap_bulk_read(data->regmap,
                               ADXL313_REG_DATA_AXIS(chan->address),
                               &data->transf_buf, sizeof(data->transf_buf));
        if (ret)
-               goto unlock_ret;
-
-       ret = le16_to_cpu(data->transf_buf);
+               return ret;
 
-unlock_ret:
-       mutex_unlock(&data->lock);
-       return ret;
+       return le16_to_cpu(data->transf_buf);
 }
 
 static int adxl313_read_freq_avail(struct iio_dev *indio_dev,