]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: sama5d2-piobu: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 25 Jun 2025 10:33:24 +0000 (12:33 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 2 Jul 2025 09:05:37 +0000 (11:05 +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/20250625-gpiochip-set-rv-gpio-round2-v1-1-bc110a3b52ff@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-sama5d2-piobu.c

index d770a6f3d846640d8ab4c9ae387635118b82cf51..c31244cf5e89108b5a21ff6ff58569dbef4bf972 100644 (file)
@@ -169,15 +169,15 @@ static int sama5d2_piobu_get(struct gpio_chip *chip, unsigned int pin)
 /*
  * sama5d2_piobu_set() - gpiochip set
  */
-static void sama5d2_piobu_set(struct gpio_chip *chip, unsigned int pin,
-                             int value)
+static int sama5d2_piobu_set(struct gpio_chip *chip, unsigned int pin,
+                            int value)
 {
        if (!value)
                value = PIOBU_LOW;
        else
                value = PIOBU_HIGH;
 
-       sama5d2_piobu_write_value(chip, pin, PIOBU_SOD, value);
+       return sama5d2_piobu_write_value(chip, pin, PIOBU_SOD, value);
 }
 
 static int sama5d2_piobu_probe(struct platform_device *pdev)
@@ -196,7 +196,7 @@ static int sama5d2_piobu_probe(struct platform_device *pdev)
        piobu->chip.direction_input = sama5d2_piobu_direction_input;
        piobu->chip.direction_output = sama5d2_piobu_direction_output;
        piobu->chip.get = sama5d2_piobu_get;
-       piobu->chip.set = sama5d2_piobu_set;
+       piobu->chip.set_rv = sama5d2_piobu_set;
        piobu->chip.base = -1;
        piobu->chip.ngpio = PIOBU_NUM;
        piobu->chip.can_sleep = 0;