]> www.infradead.org Git - linux.git/commitdiff
gpio: mb86s7x: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 6 May 2025 09:01:53 +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-10-0fbdea5a9667@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-mb86s7x.c

index 7ee891ef6905ccedf9ca489a9004a790006d9c0a..5ee2991ecdfdd37b4e4c594305dbe564290e2ccc 100644 (file)
@@ -119,7 +119,7 @@ static int mb86s70_gpio_get(struct gpio_chip *gc, unsigned gpio)
        return !!(readl(gchip->base + PDR(gpio)) & OFFSET(gpio));
 }
 
-static void mb86s70_gpio_set(struct gpio_chip *gc, unsigned gpio, int value)
+static int mb86s70_gpio_set(struct gpio_chip *gc, unsigned int gpio, int value)
 {
        struct mb86s70_gpio_chip *gchip = gpiochip_get_data(gc);
        unsigned long flags;
@@ -135,6 +135,8 @@ static void mb86s70_gpio_set(struct gpio_chip *gc, unsigned gpio, int value)
        writel(val, gchip->base + PDR(gpio));
 
        spin_unlock_irqrestore(&gchip->lock, flags);
+
+       return 0;
 }
 
 static int mb86s70_gpio_to_irq(struct gpio_chip *gc, unsigned int offset)
@@ -178,7 +180,7 @@ static int mb86s70_gpio_probe(struct platform_device *pdev)
        gchip->gc.request = mb86s70_gpio_request;
        gchip->gc.free = mb86s70_gpio_free;
        gchip->gc.get = mb86s70_gpio_get;
-       gchip->gc.set = mb86s70_gpio_set;
+       gchip->gc.set_rv = mb86s70_gpio_set;
        gchip->gc.to_irq = mb86s70_gpio_to_irq;
        gchip->gc.label = dev_name(&pdev->dev);
        gchip->gc.ngpio = 32;