]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: max77650: use value returning setters
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 20 Feb 2025 09:57:08 +0000 (10:57 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 26 Feb 2025 10:17:40 +0000 (11:17 +0100)
struct gpio_chip now has additional variants of the set(_multiple)
driver callbacks that return an integer to indicate success or failure.
Convert the driver to using them.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/20250220-gpio-set-retval-v2-11-bc4cfd38dae3@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-max77650.c

index 3075f2513c6f08981c4d4de772d19029d52248af..a553e141059f7362f7593638305c32feb0d96666 100644 (file)
@@ -62,18 +62,16 @@ static int max77650_gpio_direction_output(struct gpio_chip *gc,
                                  MAX77650_REG_CNFG_GPIO, mask, regval);
 }
 
-static void max77650_gpio_set_value(struct gpio_chip *gc,
-                                   unsigned int offset, int value)
+static int max77650_gpio_set_value(struct gpio_chip *gc,
+                                  unsigned int offset, int value)
 {
        struct max77650_gpio_chip *chip = gpiochip_get_data(gc);
-       int rv, regval;
+       int regval;
 
        regval = value ? MAX77650_GPIO_OUT_HIGH : MAX77650_GPIO_OUT_LOW;
 
-       rv = regmap_update_bits(chip->map, MAX77650_REG_CNFG_GPIO,
-                               MAX77650_GPIO_OUTVAL_MASK, regval);
-       if (rv)
-               dev_err(gc->parent, "cannot set GPIO value: %d\n", rv);
+       return regmap_update_bits(chip->map, MAX77650_REG_CNFG_GPIO,
+                                 MAX77650_GPIO_OUTVAL_MASK, regval);
 }
 
 static int max77650_gpio_get_value(struct gpio_chip *gc,
@@ -168,7 +166,7 @@ static int max77650_gpio_probe(struct platform_device *pdev)
 
        chip->gc.direction_input = max77650_gpio_direction_input;
        chip->gc.direction_output = max77650_gpio_direction_output;
-       chip->gc.set = max77650_gpio_set_value;
+       chip->gc.set_rv = max77650_gpio_set_value;
        chip->gc.get = max77650_gpio_get_value;
        chip->gc.get_direction = max77650_gpio_get_direction;
        chip->gc.set_config = max77650_gpio_set_config;