Message ID | 20250610-gpiochip-set-rv-gpio-v1-0-3a9a3c1472ff@linaro.org |
---|---|
Headers | show |
Series | gpio: convert another round of GPIO drivers to using new line value setters | expand |
On Tue, Jun 10, 2025 at 2:33 PM 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
Hi Bartosz, On Tue, 10 Jun 2025 at 21:33, 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> > --- > drivers/gpio/gpio-msc313.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpio/gpio-msc313.c b/drivers/gpio/gpio-msc313.c > index 6db9e469e0dc254e791d497b89a4c6d329d0add4..992339a89d19840fc03ccf849972a83cb86415ae 100644 > --- a/drivers/gpio/gpio-msc313.c > +++ b/drivers/gpio/gpio-msc313.c > @@ -486,7 +486,7 @@ struct msc313_gpio { > u8 *saved; > }; > > -static void msc313_gpio_set(struct gpio_chip *chip, unsigned int offset, int value) > +static int msc313_gpio_set(struct gpio_chip *chip, unsigned int offset, int value) > { > struct msc313_gpio *gpio = gpiochip_get_data(chip); > u8 gpioreg = readb_relaxed(gpio->base + gpio->gpio_data->offsets[offset]); > @@ -497,6 +497,8 @@ static void msc313_gpio_set(struct gpio_chip *chip, unsigned int offset, int val > gpioreg &= ~MSC313_GPIO_OUT; > > writeb_relaxed(gpioreg, gpio->base + gpio->gpio_data->offsets[offset]); > + > + return 0; > } > > static int msc313_gpio_get(struct gpio_chip *chip, unsigned int offset) > @@ -656,7 +658,7 @@ static int msc313_gpio_probe(struct platform_device *pdev) > gpiochip->direction_input = msc313_gpio_direction_input; > gpiochip->direction_output = msc313_gpio_direction_output; > gpiochip->get = msc313_gpio_get; > - gpiochip->set = msc313_gpio_set; > + gpiochip->set_rv = msc313_gpio_set; > gpiochip->base = -1; > gpiochip->ngpio = gpio->gpio_data->num; > gpiochip->names = gpio->gpio_data->names; > > -- > 2.48.1 > Reviewed-by: Daniel Palmer <daniel@thingy.jp> Cheers, Daniel
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. This series converts another round of GPIO drivers. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> --- Bartosz Golaszewski (12): gpio: mmio: use new GPIO line value setter callbacks gpio: mm-lantiq: use new GPIO line value setter callbacks gpio: moxtet: use new GPIO line value setter callbacks gpio: mpc5200: use new GPIO line value setter callbacks gpio: mpfs: use new GPIO line value setter callbacks gpio: mpsse: use new GPIO line value setter callbacks gpio: msc313: use new GPIO line value setter callbacks gpio: nomadik: use new GPIO line value setter callbacks gpio: npcm-sgpio: use new GPIO line value setter callbacks gpio: octeon: use new GPIO line value setter callbacks gpio: omap: use new GPIO line value setter callbacks gpio: palmas: use new GPIO line value setter callbacks drivers/gpio/gpio-mm-lantiq.c | 12 +++++----- drivers/gpio/gpio-mmio.c | 53 ++++++++++++++++++++++++++---------------- drivers/gpio/gpio-moxtet.c | 16 ++++++------- drivers/gpio/gpio-mpc5200.c | 12 ++++++---- drivers/gpio/gpio-mpfs.c | 11 +++++---- drivers/gpio/gpio-mpsse.c | 22 ++++++++---------- drivers/gpio/gpio-msc313.c | 6 +++-- drivers/gpio/gpio-nomadik.c | 8 ++++--- drivers/gpio/gpio-npcm-sgpio.c | 6 +++-- drivers/gpio/gpio-octeon.c | 7 ++++-- drivers/gpio/gpio-omap.c | 14 +++++++---- drivers/gpio/gpio-palmas.c | 15 ++++++------ 12 files changed, 105 insertions(+), 77 deletions(-) --- base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494 change-id: 20250527-gpiochip-set-rv-gpio-5071a2dad129 Best regards,