gpio: max77620: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 6 May 2025 09:01:52 +0000 (11:01 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 13 May 2025 13:15:35 +0000 (15:15 +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.

Link: https://lore.kernel.org/r/20250506-gpiochip-set-rv-gpio-part3-v1-9-0fbdea5a9667@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-max77620.c

index 8c2a5609161fd05eab21a9af7c501cd9c623ee3e..af7af8e40afe44256f482a6a1cd5b30525ba21ab 100644 (file)
@@ -223,20 +223,17 @@ static int max77620_gpio_set_debounce(struct max77620_gpio *mgpio,
        return ret;
 }
 
-static void max77620_gpio_set(struct gpio_chip *gc, unsigned int offset,
-                             int value)
+static int max77620_gpio_set(struct gpio_chip *gc, unsigned int offset,
+                            int value)
 {
        struct max77620_gpio *mgpio = gpiochip_get_data(gc);
        u8 val;
-       int ret;
 
        val = (value) ? MAX77620_CNFG_GPIO_OUTPUT_VAL_HIGH :
                                MAX77620_CNFG_GPIO_OUTPUT_VAL_LOW;
 
-       ret = regmap_update_bits(mgpio->rmap, GPIO_REG_ADDR(offset),
-                                MAX77620_CNFG_GPIO_OUTPUT_VAL_MASK, val);
-       if (ret < 0)
-               dev_err(mgpio->dev, "CNFG_GPIO_OUT update failed: %d\n", ret);
+       return regmap_update_bits(mgpio->rmap, GPIO_REG_ADDR(offset),
+                                 MAX77620_CNFG_GPIO_OUTPUT_VAL_MASK, val);
 }
 
 static int max77620_gpio_set_config(struct gpio_chip *gc, unsigned int offset,
@@ -314,7 +311,7 @@ static int max77620_gpio_probe(struct platform_device *pdev)
        mgpio->gpio_chip.direction_input = max77620_gpio_dir_input;
        mgpio->gpio_chip.get = max77620_gpio_get;
        mgpio->gpio_chip.direction_output = max77620_gpio_dir_output;
-       mgpio->gpio_chip.set = max77620_gpio_set;
+       mgpio->gpio_chip.set_rv = max77620_gpio_set;
        mgpio->gpio_chip.set_config = max77620_gpio_set_config;
        mgpio->gpio_chip.ngpio = MAX77620_GPIO_NR;
        mgpio->gpio_chip.can_sleep = 1;