mbox series

[00/10] pinctrl: convert GPIO chips to using new value setters

Message ID 20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org
Headers show
Series pinctrl: convert GPIO chips to using new value setters | expand

Message

Bartosz Golaszewski April 8, 2025, 7:17 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 first part of pinctrl GPIO controllers.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
Bartosz Golaszewski (10):
      pinctrl: at91-pio4: use new GPIO line value setter callbacks
      pinctrl: rk805: use new GPIO line value setter callbacks
      pinctrl: abx500: enable building modules with COMPILE_TEST=y
      pinctrl: abx500: use new GPIO line value setter callbacks
      pinctrl: meson: use new GPIO line value setter callbacks
      pinctrl: amlogic-a4: use new GPIO line value setter callbacks
      pinctrl: sx150x: enable building modules with COMPILE_TEST=y
      pinctrl: sx150x: use new GPIO line value setter callbacks
      pinctrl: ocelot: use new GPIO line value setter callbacks
      pinctrl: cy8c95x0: use new GPIO line value setter callbacks

 drivers/pinctrl/Kconfig                    |  2 +-
 drivers/pinctrl/meson/pinctrl-amlogic-a4.c |  8 ++++----
 drivers/pinctrl/meson/pinctrl-meson.c      |  6 +++---
 drivers/pinctrl/nomadik/Kconfig            |  8 ++++----
 drivers/pinctrl/nomadik/pinctrl-abx500.c   | 12 ++++--------
 drivers/pinctrl/pinctrl-at91-pio4.c        | 14 +++++++++-----
 drivers/pinctrl/pinctrl-cy8c95x0.c         | 17 +++++++++--------
 drivers/pinctrl/pinctrl-ocelot.c           | 17 +++++++++--------
 drivers/pinctrl/pinctrl-rk805.c            | 26 +++++++++++++-------------
 drivers/pinctrl/pinctrl-sx150x.c           | 23 ++++++++++++-----------
 10 files changed, 68 insertions(+), 65 deletions(-)
---
base-commit: 0af2f6be1b4281385b618cb86ad946eded089ac8
change-id: 20250326-gpiochip-set-rv-pinctrl-part1-c0e1e1891c24

Best regards,

Comments

Martin Blumenstingl April 8, 2025, 9:38 p.m. UTC | #1
On Tue, Apr 8, 2025 at 9:24 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: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Xianwei Zhao April 9, 2025, 1:56 a.m. UTC | #2
On 2025/4/8 15:17, Bartosz Golaszewski wrote:
> [ EXTERNAL EMAIL ]
> 
> 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/pinctrl/meson/pinctrl-amlogic-a4.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/pinctrl/meson/pinctrl-amlogic-a4.c b/drivers/pinctrl/meson/pinctrl-amlogic-a4.c
> index ee7bbc72f9b3..a76f266b4b94 100644
> --- a/drivers/pinctrl/meson/pinctrl-amlogic-a4.c
> +++ b/drivers/pinctrl/meson/pinctrl-amlogic-a4.c
> @@ -806,15 +806,15 @@ static int aml_gpio_direction_output(struct gpio_chip *chip, unsigned int gpio,
>                                    value ? BIT(bit) : 0);
>   }
> 
> -static void aml_gpio_set(struct gpio_chip *chip, unsigned int gpio, int value)
> +static int aml_gpio_set(struct gpio_chip *chip, unsigned int gpio, int value)
>   {
>          struct aml_gpio_bank *bank = gpiochip_get_data(chip);
>          unsigned int bit, reg;
> 
>          aml_gpio_calc_reg_and_bit(bank, AML_REG_OUT, gpio, &reg, &bit);
> 
> -       regmap_update_bits(bank->reg_gpio, reg, BIT(bit),
> -                          value ? BIT(bit) : 0);
> +       return regmap_update_bits(bank->reg_gpio, reg, BIT(bit),
> +                                 value ? BIT(bit) : 0);
>   }
> 
>   static int aml_gpio_get(struct gpio_chip *chip, unsigned int gpio)
> @@ -832,7 +832,7 @@ static const struct gpio_chip aml_gpio_template = {
>          .request                = gpiochip_generic_request,
>          .free                   = gpiochip_generic_free,
>          .set_config             = gpiochip_generic_config,
> -       .set                    = aml_gpio_set,
> +       .set_rv                 = aml_gpio_set,
>          .get                    = aml_gpio_get,
>          .direction_input        = aml_gpio_direction_input,
>          .direction_output       = aml_gpio_direction_output,
> 
> --
> 2.45.2
> 
Reviewed-by: Xianwei Zhao <xianwei.zhao@amlogic.com>