]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
iio: light: veml6070: use guard to handle mutex
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>
Sun, 29 Sep 2024 20:38:47 +0000 (22:38 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 5 Oct 2024 11:09:15 +0000 (12:09 +0100)
Simplify the mutext handling by using a guard to automate the mutex
unlocking.

Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://patch.msgid.link/20240929-veml6070-cleanup-v1-2-a9350341a646@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/veml6070.c

index 3c476b6f612209e4b337d4abacd84d2d54707034..945ef58beead79598884631b05f082270d7f5bb2 100644 (file)
@@ -42,36 +42,36 @@ static int veml6070_read(struct veml6070_data *data)
        int ret;
        u8 msb, lsb;
 
-       mutex_lock(&data->lock);
+       guard(mutex)(&data->lock);
 
        /* disable shutdown */
        ret = i2c_smbus_write_byte(data->client1,
            data->config & ~VEML6070_COMMAND_SD);
        if (ret < 0)
-               goto out;
+               return ret;
 
        msleep(125 + 10); /* measurement takes up to 125 ms for IT 1x */
 
        ret = i2c_smbus_read_byte(data->client2); /* read MSB, address 0x39 */
        if (ret < 0)
-               goto out;
+               return ret;
+
        msb = ret;
 
        ret = i2c_smbus_read_byte(data->client1); /* read LSB, address 0x38 */
        if (ret < 0)
-               goto out;
+               return ret;
+
        lsb = ret;
 
        /* shutdown again */
        ret = i2c_smbus_write_byte(data->client1, data->config);
        if (ret < 0)
-               goto out;
+               return ret;
 
        ret = (msb << 8) | lsb;
 
-out:
-       mutex_unlock(&data->lock);
-       return ret;
+       return 0;
 }
 
 static const struct iio_chan_spec veml6070_channels[] = {