[PATCH 06/10] pinctrl: amlogic-a4: use new GPIO line value setter callbacks
Xianwei Zhao
xianwei.zhao at amlogic.com
Tue Apr 8 18:56:12 PDT 2025
On 2025/4/8 15:17, Bartosz Golaszewski wrote:
> [ EXTERNAL EMAIL ]
>
> From: Bartosz Golaszewski <bartosz.golaszewski at 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 at 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, ®, &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 at amlogic.com>
More information about the linux-amlogic
mailing list