]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: bt8xx: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 10 Mar 2025 12:40:22 +0000 (13:40 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 17 Mar 2025 07:27:41 +0000 (08:27 +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/20250310-gpiochip-set-conversion-v1-8-03798bb833eb@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-bt8xx.c

index 173da7bbfc98b7608d410190741e10319549bb9e..7c9e81fea37a8bf378ffeaa4e7e456777160d301 100644 (file)
@@ -119,8 +119,7 @@ static int bt8xxgpio_gpio_direction_output(struct gpio_chip *gpio,
        return 0;
 }
 
-static void bt8xxgpio_gpio_set(struct gpio_chip *gpio,
-                           unsigned nr, int val)
+static int bt8xxgpio_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
 {
        struct bt8xxgpio *bg = gpiochip_get_data(gpio);
        u32 data;
@@ -133,6 +132,8 @@ static void bt8xxgpio_gpio_set(struct gpio_chip *gpio,
        else
                data &= ~(1 << nr);
        bgwrite(data, BT848_GPIO_DATA);
+
+       return 0;
 }
 
 static void bt8xxgpio_gpio_setup(struct bt8xxgpio *bg)
@@ -144,7 +145,7 @@ static void bt8xxgpio_gpio_setup(struct bt8xxgpio *bg)
        c->direction_input = bt8xxgpio_gpio_direction_input;
        c->get = bt8xxgpio_gpio_get;
        c->direction_output = bt8xxgpio_gpio_direction_output;
-       c->set = bt8xxgpio_gpio_set;
+       c->set_rv = bt8xxgpio_gpio_set;
        c->dbg_show = NULL;
        c->base = modparam_gpiobase;
        c->ngpio = BT8XXGPIO_NR_GPIOS;