fbdev: via: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 8 Apr 2025 07:42:56 +0000 (09:42 +0200)
committerHelge Deller <deller@gmx.de>
Sat, 31 May 2025 08:24:01 +0000 (10:24 +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: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/via/via-gpio.c

index 9577c2cd52c76c15fd6c13495e13646f69db6e21..27226a8f3f42f70e8fed3d4f17709598466f4015 100644 (file)
@@ -81,8 +81,7 @@ struct viafb_gpio_cfg {
 /*
  * GPIO access functions
  */
-static void via_gpio_set(struct gpio_chip *chip, unsigned int nr,
-                        int value)
+static int via_gpio_set(struct gpio_chip *chip, unsigned int nr, int value)
 {
        struct viafb_gpio_cfg *cfg = gpiochip_get_data(chip);
        u8 reg;
@@ -99,13 +98,14 @@ static void via_gpio_set(struct gpio_chip *chip, unsigned int nr,
                reg &= ~(0x10 << gpio->vg_mask_shift);
        via_write_reg(VIASR, gpio->vg_port_index, reg);
        spin_unlock_irqrestore(&cfg->vdev->reg_lock, flags);
+
+       return 0;
 }
 
 static int via_gpio_dir_out(struct gpio_chip *chip, unsigned int nr,
                            int value)
 {
-       via_gpio_set(chip, nr, value);
-       return 0;
+       return via_gpio_set(chip, nr, value);
 }
 
 /*
@@ -146,7 +146,7 @@ static struct viafb_gpio_cfg viafb_gpio_config = {
                .label = "VIAFB onboard GPIO",
                .owner = THIS_MODULE,
                .direction_output = via_gpio_dir_out,
-               .set = via_gpio_set,
+               .set_rv = via_gpio_set,
                .direction_input = via_gpio_dir_input,
                .get = via_gpio_get,
                .base = -1,