]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ARM: sa1100/gpio: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 7 Apr 2025 07:09:19 +0000 (09:09 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 9 Apr 2025 08:25:25 +0000 (10:25 +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/20250407-gpiochip-set-rv-arm-v1-2-9e4a914c7fd4@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
arch/arm/common/sa1111.c

index 9846f30990f71122b20e04314ed522bb45069b35..70dca9937644a53d81bca0add1a9ce256d4a8742 100644 (file)
@@ -563,7 +563,7 @@ static int sa1111_gpio_get(struct gpio_chip *gc, unsigned offset)
        return !!(readl_relaxed(reg + SA1111_GPIO_PXDRR) & mask);
 }
 
-static void sa1111_gpio_set(struct gpio_chip *gc, unsigned offset, int value)
+static int sa1111_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
 {
        struct sa1111 *sachip = gc_to_sa1111(gc);
        unsigned long flags;
@@ -574,6 +574,8 @@ static void sa1111_gpio_set(struct gpio_chip *gc, unsigned offset, int value)
        sa1111_gpio_modify(reg + SA1111_GPIO_PXDWR, mask, value ? mask : 0);
        sa1111_gpio_modify(reg + SA1111_GPIO_PXSSR, mask, value ? mask : 0);
        spin_unlock_irqrestore(&sachip->lock, flags);
+
+       return 0;
 }
 
 static void sa1111_gpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,
@@ -613,7 +615,7 @@ static int sa1111_setup_gpios(struct sa1111 *sachip)
        sachip->gc.direction_input = sa1111_gpio_direction_input;
        sachip->gc.direction_output = sa1111_gpio_direction_output;
        sachip->gc.get = sa1111_gpio_get;
-       sachip->gc.set = sa1111_gpio_set;
+       sachip->gc.set_rv = sa1111_gpio_set;
        sachip->gc.set_multiple = sa1111_gpio_set_multiple;
        sachip->gc.to_irq = sa1111_gpio_to_irq;
        sachip->gc.base = -1;