]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
MIPS: bcm63xx: gpio: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 7 Apr 2025 07:25:08 +0000 (09:25 +0200)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Sun, 27 Apr 2025 07:21:21 +0000 (09:21 +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.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/bcm63xx/gpio.c

index 5c4a233db55ff9c2e755aa45fa7c071b69e85232..e7a53cd0dec55a39cc4f4330f48363cdbc2d8a9f 100644 (file)
@@ -35,8 +35,7 @@ static void bcm63xx_gpio_out_low_reg_init(void)
 static DEFINE_SPINLOCK(bcm63xx_gpio_lock);
 static u32 gpio_out_low, gpio_out_high;
 
-static void bcm63xx_gpio_set(struct gpio_chip *chip,
-                            unsigned gpio, int val)
+static int bcm63xx_gpio_set(struct gpio_chip *chip, unsigned int gpio, int val)
 {
        u32 reg;
        u32 mask;
@@ -62,6 +61,8 @@ static void bcm63xx_gpio_set(struct gpio_chip *chip,
                *v &= ~mask;
        bcm_gpio_writel(*v, reg);
        spin_unlock_irqrestore(&bcm63xx_gpio_lock, flags);
+
+       return 0;
 }
 
 static int bcm63xx_gpio_get(struct gpio_chip *chip, unsigned gpio)
@@ -130,7 +131,7 @@ static struct gpio_chip bcm63xx_gpio_chip = {
        .direction_input        = bcm63xx_gpio_direction_input,
        .direction_output       = bcm63xx_gpio_direction_output,
        .get                    = bcm63xx_gpio_get,
-       .set                    = bcm63xx_gpio_set,
+       .set_rv                 = bcm63xx_gpio_set,
        .base                   = 0,
 };