Message ID | 20250408-gpiochip-set-rv-video-v1-1-200ea4d24a29@linaro.org |
---|---|
State | New |
Headers | show |
Series | fbdev: via: use new GPIO line value setter callbacks | expand |
On Tue, Apr 8, 2025 at 9:42 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > 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> > --- > Commit 98ce1eb1fd87e ("gpiolib: introduce gpio_chip setters that return > values") added new line setter callbacks to struct gpio_chip. They allow > to indicate failures to callers. We're in the process of converting all > GPIO controllers to using them before removing the old ones. > --- Gentle ping. Bart
On Tue, Apr 8, 2025 at 9:43 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > 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> Yours, Linus Walleij
On 4/24/25 10:52, Linus Walleij wrote: > On Tue, Apr 8, 2025 at 9:43 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > >> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> >> >> 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> added to fbdev for-next tree. Thanks! Helge
diff --git a/drivers/video/fbdev/via/via-gpio.c b/drivers/video/fbdev/via/via-gpio.c index 9577c2cd52c7..27226a8f3f42 100644 --- a/drivers/video/fbdev/via/via-gpio.c +++ b/drivers/video/fbdev/via/via-gpio.c @@ -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,