gpio: pca9570: use lock guards

Shrink the code by a couple lines and improve lock management by using
lock guards from cleanup.h.

Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20260113111156.188051-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
This commit is contained in:
Andy Shevchenko 2026-01-13 12:10:54 +01:00 committed by Bartosz Golaszewski
parent 053578d329
commit 4aa573002b

View file

@ -10,6 +10,7 @@
*/
#include <linux/bits.h>
#include <linux/cleanup.h>
#include <linux/device/devres.h>
#include <linux/errno.h>
#include <linux/gpio/driver.h>
@ -98,7 +99,7 @@ static int pca9570_set(struct gpio_chip *chip, unsigned int offset, int value)
u8 buffer;
int ret;
mutex_lock(&gpio->lock);
guard(mutex)(&gpio->lock);
buffer = gpio->out;
if (value)
@ -108,13 +109,11 @@ static int pca9570_set(struct gpio_chip *chip, unsigned int offset, int value)
ret = pca9570_write(gpio, buffer);
if (ret)
goto out;
return ret;
gpio->out = buffer;
out:
mutex_unlock(&gpio->lock);
return ret;
return 0;
}
static int pca9570_probe(struct i2c_client *client)