]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
i2c: mux: ltc4306: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 7 Apr 2025 07:17:14 +0000 (09:17 +0200)
committerWolfram Sang <wsa+renesas@sang-engineering.com>
Thu, 24 Apr 2025 08:27:09 +0000 (10:27 +0200)
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Peter Rosin <peda@axentia.se>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
drivers/i2c/muxes/i2c-mux-ltc4306.c

index 8a87f19bf5d5f0e51af4b685ba50e4b5fb5b6372..c688af270a11f8da307e783e63c2a9756285db5f 100644 (file)
@@ -85,13 +85,13 @@ static int ltc4306_gpio_get(struct gpio_chip *chip, unsigned int offset)
        return !!(val & BIT(1 - offset));
 }
 
-static void ltc4306_gpio_set(struct gpio_chip *chip, unsigned int offset,
-                            int value)
+static int ltc4306_gpio_set(struct gpio_chip *chip, unsigned int offset,
+                           int value)
 {
        struct ltc4306 *data = gpiochip_get_data(chip);
 
-       regmap_update_bits(data->regmap, LTC_REG_CONFIG, BIT(5 - offset),
-                          value ? BIT(5 - offset) : 0);
+       return regmap_update_bits(data->regmap, LTC_REG_CONFIG,
+                                 BIT(5 - offset), value ? BIT(5 - offset) : 0);
 }
 
 static int ltc4306_gpio_get_direction(struct gpio_chip *chip,
@@ -164,7 +164,7 @@ static int ltc4306_gpio_init(struct ltc4306 *data)
        data->gpiochip.direction_input = ltc4306_gpio_direction_input;
        data->gpiochip.direction_output = ltc4306_gpio_direction_output;
        data->gpiochip.get = ltc4306_gpio_get;
-       data->gpiochip.set = ltc4306_gpio_set;
+       data->gpiochip.set_rv = ltc4306_gpio_set;
        data->gpiochip.set_config = ltc4306_gpio_set_config;
        data->gpiochip.owner = THIS_MODULE;