Hello Dmitry, $Subject ~= s/iI/I/ On Mon, Jul 01, 2024 at 10:57:18AM -0700, Dmitry Torokhov wrote: > This makes the code more compact and error handling more robust. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > --- > > Sending this out because Utsav is working on the driver so he can rebase > the work on top of this. > > drivers/input/keyboard/adp5588-keys.c | 49 ++++++++++----------------- > 1 file changed, 17 insertions(+), 32 deletions(-) > > diff --git a/drivers/input/keyboard/adp5588-keys.c b/drivers/input/keyboard/adp5588-keys.c > index 1b0279393df4..09bcfc6b9408 100644 > --- a/drivers/input/keyboard/adp5588-keys.c > +++ b/drivers/input/keyboard/adp5588-keys.c > @@ -221,15 +221,13 @@ static int adp5588_gpio_get_value(struct gpio_chip *chip, unsigned int off) > unsigned int bit = ADP5588_BIT(kpad->gpiomap[off]); > int val; > > - mutex_lock(&kpad->gpio_lock); > + guard(mutex)(&kpad->gpio_lock); > > if (kpad->dir[bank] & bit) > val = kpad->dat_out[bank]; > else > val = adp5588_read(kpad->client, GPIO_DAT_STAT1 + bank); > > - mutex_unlock(&kpad->gpio_lock); > - > return !!(val & bit); > } > > @@ -240,7 +238,7 @@ static void adp5588_gpio_set_value(struct gpio_chip *chip, > unsigned int bank = ADP5588_BANK(kpad->gpiomap[off]); > unsigned int bit = ADP5588_BIT(kpad->gpiomap[off]); > > - mutex_lock(&kpad->gpio_lock); > + guard(mutex)(&kpad->gpio_lock); > > if (val) > kpad->dat_out[bank] |= bit; > @@ -248,8 +246,6 @@ static void adp5588_gpio_set_value(struct gpio_chip *chip, > kpad->dat_out[bank] &= ~bit; > > adp5588_write(kpad->client, GPIO_DAT_OUT1 + bank, kpad->dat_out[bank]); > - > - mutex_unlock(&kpad->gpio_lock); > } > > static int adp5588_gpio_set_config(struct gpio_chip *chip, unsigned int off, > @@ -259,7 +255,6 @@ static int adp5588_gpio_set_config(struct gpio_chip *chip, unsigned int off, > unsigned int bank = ADP5588_BANK(kpad->gpiomap[off]); > unsigned int bit = ADP5588_BIT(kpad->gpiomap[off]); > bool pull_disable; > - int ret; > > switch (pinconf_to_config_param(config)) { > case PIN_CONFIG_BIAS_PULL_UP: > @@ -272,19 +267,15 @@ static int adp5588_gpio_set_config(struct gpio_chip *chip, unsigned int off, > return -ENOTSUPP; > } > > - mutex_lock(&kpad->gpio_lock); > + guard(mutex)(&kpad->gpio_lock); > > if (pull_disable) > kpad->pull_dis[bank] |= bit; > else > kpad->pull_dis[bank] &= bit; > > - ret = adp5588_write(kpad->client, GPIO_PULL1 + bank, > - kpad->pull_dis[bank]); > - > - mutex_unlock(&kpad->gpio_lock); > - > - return ret; > + return adp5588_write(kpad->client, GPIO_PULL1 + bank, > + kpad->pull_dis[bank]); > } > > static int adp5588_gpio_direction_input(struct gpio_chip *chip, unsigned int off) > @@ -292,16 +283,11 @@ static int adp5588_gpio_direction_input(struct gpio_chip *chip, unsigned int off > struct adp5588_kpad *kpad = gpiochip_get_data(chip); > unsigned int bank = ADP5588_BANK(kpad->gpiomap[off]); > unsigned int bit = ADP5588_BIT(kpad->gpiomap[off]); > - int ret; > > - mutex_lock(&kpad->gpio_lock); > + guard(mutex)(&kpad->gpio_lock); > > kpad->dir[bank] &= ~bit; > - ret = adp5588_write(kpad->client, GPIO_DIR1 + bank, kpad->dir[bank]); > - > - mutex_unlock(&kpad->gpio_lock); > - > - return ret; > + return adp5588_write(kpad->client, GPIO_DIR1 + bank, kpad->dir[bank]); > } > > static int adp5588_gpio_direction_output(struct gpio_chip *chip, > @@ -310,9 +296,9 @@ static int adp5588_gpio_direction_output(struct gpio_chip *chip, > struct adp5588_kpad *kpad = gpiochip_get_data(chip); > unsigned int bank = ADP5588_BANK(kpad->gpiomap[off]); > unsigned int bit = ADP5588_BIT(kpad->gpiomap[off]); > - int ret; > + int error; If you keep ret it's consistent with the other functions in this driver (at least the one you touched above). Otherwise looks fine to me, Uwe
Attachment:
signature.asc
Description: PGP signature