Commit 091655b9 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Linus Walleij

pinctrl: aw9523: Always try both ports in aw9523_gpio_set_multiple()

The ports are equivalent from the user's point of view. Don't limit
trying them both if writing to one fails.
Signed-off-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Message-ID: <20240329105634.712457-4-andy.shevchenko@gmail.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent f91eafcb
...@@ -653,7 +653,7 @@ static void aw9523_gpio_set_multiple(struct gpio_chip *chip, ...@@ -653,7 +653,7 @@ static void aw9523_gpio_set_multiple(struct gpio_chip *chip,
struct aw9523 *awi = gpiochip_get_data(chip); struct aw9523 *awi = gpiochip_get_data(chip);
u8 mask_lo, mask_hi, bits_lo, bits_hi; u8 mask_lo, mask_hi, bits_lo, bits_hi;
unsigned int reg; unsigned int reg;
int ret = 0; int ret;
mask_lo = *mask & U8_MAX; mask_lo = *mask & U8_MAX;
mask_hi = (*mask >> 8) & U8_MAX; mask_hi = (*mask >> 8) & U8_MAX;
...@@ -663,10 +663,8 @@ static void aw9523_gpio_set_multiple(struct gpio_chip *chip, ...@@ -663,10 +663,8 @@ static void aw9523_gpio_set_multiple(struct gpio_chip *chip,
bits_hi = (*bits >> 8) & U8_MAX; bits_hi = (*bits >> 8) & U8_MAX;
ret = regmap_write_bits(awi->regmap, reg, mask_hi, bits_hi); ret = regmap_write_bits(awi->regmap, reg, mask_hi, bits_hi);
if (ret) { if (ret)
dev_warn(awi->dev, "Cannot write port1 out level\n"); dev_warn(awi->dev, "Cannot write port1 out level\n");
goto out;
}
} }
if (mask_lo) { if (mask_lo) {
reg = AW9523_REG_OUT_STATE(0); reg = AW9523_REG_OUT_STATE(0);
...@@ -675,7 +673,6 @@ static void aw9523_gpio_set_multiple(struct gpio_chip *chip, ...@@ -675,7 +673,6 @@ static void aw9523_gpio_set_multiple(struct gpio_chip *chip,
if (ret) if (ret)
dev_warn(awi->dev, "Cannot write port0 out level\n"); dev_warn(awi->dev, "Cannot write port0 out level\n");
} }
out:
mutex_unlock(&awi->i2c_lock); mutex_unlock(&awi->i2c_lock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment