]> www.infradead.org Git - linux.git/commitdiff
gpio: janz-ttl: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 23 Apr 2025 07:15:08 +0000 (09:15 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 30 Apr 2025 08:27:58 +0000 (10:27 +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.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20250423-gpiochip-set-rv-gpio-part2-v1-6-b22245cde81a@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-janz-ttl.c

index cdf50e4ea1650a7aa924529a23189e68f3d60c77..9f548eda3888af2abc3d0eab08c775cee4e482a0 100644 (file)
@@ -76,7 +76,7 @@ static int ttl_get_value(struct gpio_chip *gpio, unsigned offset)
        return !!ret;
 }
 
-static void ttl_set_value(struct gpio_chip *gpio, unsigned offset, int value)
+static int ttl_set_value(struct gpio_chip *gpio, unsigned int offset, int value)
 {
        struct ttl_module *mod = dev_get_drvdata(gpio->parent);
        void __iomem *port;
@@ -103,6 +103,8 @@ static void ttl_set_value(struct gpio_chip *gpio, unsigned offset, int value)
 
        iowrite16be(*shadow, port);
        spin_unlock(&mod->lock);
+
+       return 0;
 }
 
 static void ttl_write_reg(struct ttl_module *mod, u8 reg, u16 val)
@@ -169,7 +171,7 @@ static int ttl_probe(struct platform_device *pdev)
        gpio->parent = &pdev->dev;
        gpio->label = pdev->name;
        gpio->get = ttl_get_value;
-       gpio->set = ttl_set_value;
+       gpio->set_rv = ttl_set_value;
        gpio->owner = THIS_MODULE;
 
        /* request dynamic allocation */