Message ID | 20250408-gpiochip-set-rv-pinctrl-part1-v1-6-c9d521d7c8c7@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | pinctrl: convert GPIO chips to using new value setters | expand |
On 08/04/2025 09:17, 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> > --- > 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, > Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
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>
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, ®, &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>
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,