Commit 4aa57300 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Bartosz Golaszewski
Browse files

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: default avatarLinus Walleij <linusw@kernel.org>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20260113111156.188051-4-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
parent 053578d3
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -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)