]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: da9055: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 10 Mar 2025 12:40:29 +0000 (13:40 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 17 Mar 2025 07:27:42 +0000 (08:27 +0100)
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/20250310-gpiochip-set-conversion-v1-15-03798bb833eb@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-da9055.c

index 49446a030f1082edf34e5944ab2bc74e1cec661a..3d9d0c700100bba5ca36e70bea53ca8736172f52 100644 (file)
@@ -59,14 +59,12 @@ static int da9055_gpio_get(struct gpio_chip *gc, unsigned offset)
 
 }
 
-static void da9055_gpio_set(struct gpio_chip *gc, unsigned offset, int value)
+static int da9055_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
 {
        struct da9055_gpio *gpio = gpiochip_get_data(gc);
 
-       da9055_reg_update(gpio->da9055,
-                       DA9055_REG_GPIO_MODE0_2,
-                       1 << offset,
-                       value << offset);
+       return da9055_reg_update(gpio->da9055, DA9055_REG_GPIO_MODE0_2,
+                                1 << offset, value << offset);
 }
 
 static int da9055_gpio_direction_input(struct gpio_chip *gc, unsigned offset)
@@ -102,9 +100,7 @@ static int da9055_gpio_direction_output(struct gpio_chip *gc,
        if (ret < 0)
                return ret;
 
-       da9055_gpio_set(gc, offset, value);
-
-       return 0;
+       return da9055_gpio_set(gc, offset, value);
 }
 
 static int da9055_gpio_to_irq(struct gpio_chip *gc, u32 offset)
@@ -120,7 +116,7 @@ static const struct gpio_chip reference_gp = {
        .label = "da9055-gpio",
        .owner = THIS_MODULE,
        .get = da9055_gpio_get,
-       .set = da9055_gpio_set,
+       .set_rv = da9055_gpio_set,
        .direction_input = da9055_gpio_direction_input,
        .direction_output = da9055_gpio_direction_output,
        .to_irq = da9055_gpio_to_irq,