diff mbox series

[08/36] gpio: aspeed: use new pinctrl GPIO helpers

Message ID 20231003145114.21637-9-brgl@bgdev.pl
State Superseded
Headers show
Series pinctrl: don't use GPIOLIB global numberspace in helpers | expand

Commit Message

Bartosz Golaszewski Oct. 3, 2023, 2:50 p.m. UTC
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Replace the pinctrl helpers taking the global GPIO number as argument
with the improved variants that instead take a pointer to the GPIO chip
and the controller-relative offset.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 drivers/gpio/gpio-aspeed.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Andrew Jeffery Oct. 3, 2023, 11:30 p.m. UTC | #1
On Tue, 2023-10-03 at 16:50 +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> 
> Replace the pinctrl helpers taking the global GPIO number as argument
> with the improved variants that instead take a pointer to the GPIO chip
> and the controller-relative offset.
> 
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> ---
>  drivers/gpio/gpio-aspeed.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
> index da33bbbdacb9..d3aa1cfd4ace 100644
> --- a/drivers/gpio/gpio-aspeed.c
> +++ b/drivers/gpio/gpio-aspeed.c
> @@ -750,12 +750,12 @@ static int aspeed_gpio_request(struct gpio_chip *chip, unsigned int offset)
>  	if (!have_gpio(gpiochip_get_data(chip), offset))
>  		return -ENODEV;
>  
> -	return pinctrl_gpio_request(chip->base + offset);
> +	return pinctrl_gpio_request_new(chip, offset);
>  }
>  
>  static void aspeed_gpio_free(struct gpio_chip *chip, unsigned int offset)
>  {
> -	pinctrl_gpio_free(chip->base + offset);
> +	pinctrl_gpio_free_new(chip, offset);
>  }
>  
>  static int usecs_to_cycles(struct aspeed_gpio *gpio, unsigned long usecs,
> @@ -973,7 +973,7 @@ static int aspeed_gpio_set_config(struct gpio_chip *chip, unsigned int offset,
>  	else if (param == PIN_CONFIG_BIAS_DISABLE ||
>  			param == PIN_CONFIG_BIAS_PULL_DOWN ||
>  			param == PIN_CONFIG_DRIVE_STRENGTH)
> -		return pinctrl_gpio_set_config(offset, config);
> +		return pinctrl_gpio_set_config_new(chip, offset, config);

Ah, this looks like it removes a bug too. Nice.

Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>

>  	else if (param == PIN_CONFIG_DRIVE_OPEN_DRAIN ||
>  			param == PIN_CONFIG_DRIVE_OPEN_SOURCE)
>  		/* Return -ENOTSUPP to trigger emulation, as per datasheet */
Bartosz Golaszewski Oct. 4, 2023, 7:13 a.m. UTC | #2
On Wed, Oct 4, 2023 at 1:30 AM Andrew Jeffery
<andrew@codeconstruct.com.au> wrote:
>
> On Tue, 2023-10-03 at 16:50 +0200, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> >
> > Replace the pinctrl helpers taking the global GPIO number as argument
> > with the improved variants that instead take a pointer to the GPIO chip
> > and the controller-relative offset.
> >
> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > ---
> >  drivers/gpio/gpio-aspeed.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
> > index da33bbbdacb9..d3aa1cfd4ace 100644
> > --- a/drivers/gpio/gpio-aspeed.c
> > +++ b/drivers/gpio/gpio-aspeed.c
> > @@ -750,12 +750,12 @@ static int aspeed_gpio_request(struct gpio_chip *chip, unsigned int offset)
> >       if (!have_gpio(gpiochip_get_data(chip), offset))
> >               return -ENODEV;
> >
> > -     return pinctrl_gpio_request(chip->base + offset);
> > +     return pinctrl_gpio_request_new(chip, offset);
> >  }
> >
> >  static void aspeed_gpio_free(struct gpio_chip *chip, unsigned int offset)
> >  {
> > -     pinctrl_gpio_free(chip->base + offset);
> > +     pinctrl_gpio_free_new(chip, offset);
> >  }
> >
> >  static int usecs_to_cycles(struct aspeed_gpio *gpio, unsigned long usecs,
> > @@ -973,7 +973,7 @@ static int aspeed_gpio_set_config(struct gpio_chip *chip, unsigned int offset,
> >       else if (param == PIN_CONFIG_BIAS_DISABLE ||
> >                       param == PIN_CONFIG_BIAS_PULL_DOWN ||
> >                       param == PIN_CONFIG_DRIVE_STRENGTH)
> > -             return pinctrl_gpio_set_config(offset, config);
> > +             return pinctrl_gpio_set_config_new(chip, offset, config);
>
> Ah, this looks like it removes a bug too. Nice.
>
> Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>
>
> >       else if (param == PIN_CONFIG_DRIVE_OPEN_DRAIN ||
> >                       param == PIN_CONFIG_DRIVE_OPEN_SOURCE)
> >               /* Return -ENOTSUPP to trigger emulation, as per datasheet */
>

I sent a separate patch that fixes this issue for backporting, once
the other one is in next, we can update this series.

Bart
diff mbox series

Patch

diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
index da33bbbdacb9..d3aa1cfd4ace 100644
--- a/drivers/gpio/gpio-aspeed.c
+++ b/drivers/gpio/gpio-aspeed.c
@@ -750,12 +750,12 @@  static int aspeed_gpio_request(struct gpio_chip *chip, unsigned int offset)
 	if (!have_gpio(gpiochip_get_data(chip), offset))
 		return -ENODEV;
 
-	return pinctrl_gpio_request(chip->base + offset);
+	return pinctrl_gpio_request_new(chip, offset);
 }
 
 static void aspeed_gpio_free(struct gpio_chip *chip, unsigned int offset)
 {
-	pinctrl_gpio_free(chip->base + offset);
+	pinctrl_gpio_free_new(chip, offset);
 }
 
 static int usecs_to_cycles(struct aspeed_gpio *gpio, unsigned long usecs,
@@ -973,7 +973,7 @@  static int aspeed_gpio_set_config(struct gpio_chip *chip, unsigned int offset,
 	else if (param == PIN_CONFIG_BIAS_DISABLE ||
 			param == PIN_CONFIG_BIAS_PULL_DOWN ||
 			param == PIN_CONFIG_DRIVE_STRENGTH)
-		return pinctrl_gpio_set_config(offset, config);
+		return pinctrl_gpio_set_config_new(chip, offset, config);
 	else if (param == PIN_CONFIG_DRIVE_OPEN_DRAIN ||
 			param == PIN_CONFIG_DRIVE_OPEN_SOURCE)
 		/* Return -ENOTSUPP to trigger emulation, as per datasheet */