]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: aspeed-sgpio: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 3 Mar 2025 13:18:40 +0000 (14:18 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 10 Mar 2025 10:52:13 +0000 (11:52 +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/20250303-gpiochip-set-conversion-v1-15-1d5cceeebf8b@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-aspeed-sgpio.c

index 5ce86de22563c450ffc3ece9ba9d661e03b69bca..00b31497ecffbb6d115a54c004ceadaef63e5d73 100644 (file)
@@ -209,13 +209,13 @@ static int sgpio_set_value(struct gpio_chip *gc, unsigned int offset, int val)
        return 0;
 }
 
-static void aspeed_sgpio_set(struct gpio_chip *gc, unsigned int offset, int val)
+static int aspeed_sgpio_set(struct gpio_chip *gc, unsigned int offset, int val)
 {
        struct aspeed_sgpio *gpio = gpiochip_get_data(gc);
 
        guard(raw_spinlock_irqsave)(&gpio->lock);
 
-       sgpio_set_value(gc, offset, val);
+       return sgpio_set_value(gc, offset, val);
 }
 
 static int aspeed_sgpio_dir_in(struct gpio_chip *gc, unsigned int offset)
@@ -596,7 +596,7 @@ static int __init aspeed_sgpio_probe(struct platform_device *pdev)
        gpio->chip.request = NULL;
        gpio->chip.free = NULL;
        gpio->chip.get = aspeed_sgpio_get;
-       gpio->chip.set = aspeed_sgpio_set;
+       gpio->chip.set_rv = aspeed_sgpio_set;
        gpio->chip.set_config = aspeed_sgpio_set_config;
        gpio->chip.label = dev_name(&pdev->dev);
        gpio->chip.base = -1;