]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mfd: ucb1x00: Use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 7 Apr 2025 07:24:15 +0000 (09:24 +0200)
committerLee Jones <lee@kernel.org>
Fri, 23 May 2025 07:48:13 +0000 (08:48 +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.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/r/20250407-gpiochip-set-rv-mfd-v1-3-43f4d86d01d1@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/ucb1x00-core.c

index fc4d4c844a81e85a01b3d1e449abf967e47d0750..fd71ba29f6b51bdfbd881aa2e7cc1fa3eaba3d75 100644 (file)
@@ -104,7 +104,8 @@ unsigned int ucb1x00_io_read(struct ucb1x00 *ucb)
        return ucb1x00_reg_read(ucb, UCB_IO_DATA);
 }
 
-static void ucb1x00_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
+static int ucb1x00_gpio_set(struct gpio_chip *chip, unsigned int offset,
+                           int value)
 {
        struct ucb1x00 *ucb = gpiochip_get_data(chip);
        unsigned long flags;
@@ -119,6 +120,8 @@ static void ucb1x00_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
        ucb1x00_reg_write(ucb, UCB_IO_DATA, ucb->io_out);
        ucb1x00_disable(ucb);
        spin_unlock_irqrestore(&ucb->io_lock, flags);
+
+       return 0;
 }
 
 static int ucb1x00_gpio_get(struct gpio_chip *chip, unsigned offset)
@@ -567,7 +570,7 @@ static int ucb1x00_probe(struct mcp *mcp)
                ucb->gpio.owner = THIS_MODULE;
                ucb->gpio.base = pdata->gpio_base;
                ucb->gpio.ngpio = 10;
-               ucb->gpio.set = ucb1x00_gpio_set;
+               ucb->gpio.set_rv = ucb1x00_gpio_set;
                ucb->gpio.get = ucb1x00_gpio_get;
                ucb->gpio.direction_input = ucb1x00_gpio_direction_input;
                ucb->gpio.direction_output = ucb1x00_gpio_direction_output;