]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: ts5500: use new GPIO line value setter callbacks
authorDaniel Sullivan <danieljsullivan7@gmail.com>
Sun, 22 Jun 2025 00:12:33 +0000 (17:12 -0700)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 23 Jun 2025 07:17:44 +0000 (09:17 +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: Daniel Sullivan <danieljsullivan7@gmail.com>
Link: https://lore.kernel.org/r/aFdKce3Go9iF4A6m@danv-Standard-PC-Q35-ICH9-2009
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-ts5500.c

index 61cbec5c06a75bec9c6d940dae2659c4c2554a08..bb432ed73698b59e519e1c89809fb2ec9e0d8847 100644 (file)
@@ -244,7 +244,7 @@ static int ts5500_gpio_output(struct gpio_chip *chip, unsigned offset, int val)
        return 0;
 }
 
-static void ts5500_gpio_set(struct gpio_chip *chip, unsigned offset, int val)
+static int ts5500_gpio_set(struct gpio_chip *chip, unsigned offset, int val)
 {
        struct ts5500_priv *priv = gpiochip_get_data(chip);
        const struct ts5500_dio line = priv->pinout[offset];
@@ -256,6 +256,8 @@ static void ts5500_gpio_set(struct gpio_chip *chip, unsigned offset, int val)
        else
                ts5500_clear_mask(line.value_mask, line.value_addr);
        spin_unlock_irqrestore(&priv->lock, flags);
+
+       return 0;
 }
 
 static int ts5500_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
@@ -338,7 +340,7 @@ static int ts5500_dio_probe(struct platform_device *pdev)
        priv->gpio_chip.direction_input = ts5500_gpio_input;
        priv->gpio_chip.direction_output = ts5500_gpio_output;
        priv->gpio_chip.get = ts5500_gpio_get;
-       priv->gpio_chip.set = ts5500_gpio_set;
+       priv->gpio_chip.set_rv = ts5500_gpio_set;
        priv->gpio_chip.to_irq = ts5500_gpio_to_irq;
        priv->gpio_chip.base = -1;