mbox series

[00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16

Message ID 20250424-gpiochip-set-rv-pinctrl-part2-v1-0-504f91120b99@linaro.org
Headers show
Series pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 | expand

Message

Bartosz Golaszewski April 24, 2025, 8:35 a.m. UTC
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. We're in the process of
converting all GPIO drivers to using the new API. This series converts
the another round of pinctrl GPIO controllers.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
Bartosz Golaszewski (12):
      pinctrl: amd: use new GPIO line value setter callbacks
      pinctrl: axp209: use new GPIO line value setter callbacks
      pinctrl: stmfx: use new GPIO line value setter callbacks
      pinctrl: owl: use new GPIO line value setter callbacks
      pinctrl: stm32: use new GPIO line value setter callbacks
      pinctrl: ingenic: use new GPIO line value setter callbacks
      pinctrl: microchip-sgpio: use new GPIO line value setter callbacks
      pinctrl: at91: allow building the module with COMPILE_TEST=y
      pinctrl: at91: use new GPIO line value setter callbacks
      pinctrl: armada-37xx: use new GPIO line value setter callbacks
      pinctrl: pistachio: use new GPIO line value setter callbacks
      pinctrl: samsung: use new GPIO line value setter callbacks

 drivers/pinctrl/Kconfig                     |  3 +--
 drivers/pinctrl/actions/pinctrl-owl.c       |  8 +++++---
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 13 +++++--------
 drivers/pinctrl/pinctrl-amd.c               |  7 +++++--
 drivers/pinctrl/pinctrl-at91.c              | 15 +++++++++------
 drivers/pinctrl/pinctrl-axp209.c            | 29 +++++++++++++----------------
 drivers/pinctrl/pinctrl-ingenic.c           |  8 +++++---
 drivers/pinctrl/pinctrl-microchip-sgpio.c   |  8 ++++----
 drivers/pinctrl/pinctrl-pistachio.c         |  8 +++++---
 drivers/pinctrl/pinctrl-stmfx.c             | 13 ++++++++-----
 drivers/pinctrl/samsung/pinctrl-samsung.c   | 13 +++++++++----
 drivers/pinctrl/stm32/pinctrl-stm32.c       |  7 +++++--
 12 files changed, 74 insertions(+), 58 deletions(-)
---
base-commit: 393d0c54cae31317deaa9043320c5fd9454deabc
change-id: 20250424-gpiochip-set-rv-pinctrl-part2-43f4026d9e38

Best regards,

Comments

Antonio Borneo April 24, 2025, 4:04 p.m. UTC | #1
On Thu, 2025-04-24 at 10:35 +0200, Bartosz Golaszewski 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: Antonio Borneo <antonio.borneo@foss.st.com>

> ---
>  drivers/pinctrl/stm32/pinctrl-stm32.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
> index cc0b4d1d7cff..ba49d48c3a1d 100644
> --- a/drivers/pinctrl/stm32/pinctrl-stm32.c
> +++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
> @@ -228,11 +228,14 @@ static int stm32_gpio_get(struct gpio_chip *chip, unsigned offset)
>         return !!(readl_relaxed(bank->base + STM32_GPIO_IDR) & BIT(offset));
>  }
>  
> -static void stm32_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
> +static int stm32_gpio_set(struct gpio_chip *chip, unsigned int offset,
> +                         int value)
>  {
>         struct stm32_gpio_bank *bank = gpiochip_get_data(chip);
>  
>         __stm32_gpio_set(bank, offset, value);
> +
> +       return 0;
>  }
>  
>  static int stm32_gpio_direction_output(struct gpio_chip *chip,
> @@ -308,7 +311,7 @@ static const struct gpio_chip stm32_gpio_template = {
>         .request                = stm32_gpio_request,
>         .free                   = pinctrl_gpio_free,
>         .get                    = stm32_gpio_get,
> -       .set                    = stm32_gpio_set,
> +       .set_rv                 = stm32_gpio_set,
>         .direction_input        = pinctrl_gpio_direction_input,
>         .direction_output       = stm32_gpio_direction_output,
>         .to_irq                 = stm32_gpio_to_irq,
>