diff mbox series

[v2,1/1] pinctrl: intel: Show the GPIO base calculation explicitly

Message ID 20210308170842.88555-1-andriy.shevchenko@linux.intel.com
State New
Headers show
Series [v2,1/1] pinctrl: intel: Show the GPIO base calculation explicitly | expand

Commit Message

Andy Shevchenko March 8, 2021, 5:08 p.m. UTC
During the split of intel_pinctrl_add_padgroups(), the _by_size() variant
missed the GPIO base calculations and hence made unable to retrieve proper
GPIO number.

Assign the gpio_base explicitly in _by_size() variant.

While at it, differentiate NOMAP case with the rest in _by_gpps() variant.

Fixes: 036e126c72eb ("pinctrl: intel: Split intel_pinctrl_add_padgroups() for better maintenance")
Reported-and-tested-by: Maximilian Luz <luzmaximilian@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
v2: added tag and Cc'ed to stable@ (Mika)
 drivers/pinctrl/intel/pinctrl-intel.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Andy Shevchenko March 8, 2021, 5:21 p.m. UTC | #1
On Mon, Mar 08, 2021 at 07:08:42PM +0200, Andy Shevchenko wrote:
> During the split of intel_pinctrl_add_padgroups(), the _by_size() variant
> missed the GPIO base calculations and hence made unable to retrieve proper
> GPIO number.
> 
> Assign the gpio_base explicitly in _by_size() variant.
> 
> While at it, differentiate NOMAP case with the rest in _by_gpps() variant.

Meanwhile pushed to my review and testing queue, thanks!

> Fixes: 036e126c72eb ("pinctrl: intel: Split intel_pinctrl_add_padgroups() for better maintenance")
> Reported-and-tested-by: Maximilian Luz <luzmaximilian@gmail.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> ---
> v2: added tag and Cc'ed to stable@ (Mika)
>  drivers/pinctrl/intel/pinctrl-intel.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
> index 8085782cd8f9..7283203861ae 100644
> --- a/drivers/pinctrl/intel/pinctrl-intel.c
> +++ b/drivers/pinctrl/intel/pinctrl-intel.c
> @@ -1357,6 +1357,7 @@ static int intel_pinctrl_add_padgroups_by_gpps(struct intel_pinctrl *pctrl,
>  				gpps[i].gpio_base = 0;
>  				break;
>  			case INTEL_GPIO_BASE_NOMAP:
> +				break;
>  			default:
>  				break;
>  		}
> @@ -1393,6 +1394,7 @@ static int intel_pinctrl_add_padgroups_by_size(struct intel_pinctrl *pctrl,
>  		gpps[i].size = min(gpp_size, npins);
>  		npins -= gpps[i].size;
>  
> +		gpps[i].gpio_base = gpps[i].base;
>  		gpps[i].padown_num = padown_num;
>  
>  		/*
> -- 
> 2.30.1
>
diff mbox series

Patch

diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
index 8085782cd8f9..7283203861ae 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.c
+++ b/drivers/pinctrl/intel/pinctrl-intel.c
@@ -1357,6 +1357,7 @@  static int intel_pinctrl_add_padgroups_by_gpps(struct intel_pinctrl *pctrl,
 				gpps[i].gpio_base = 0;
 				break;
 			case INTEL_GPIO_BASE_NOMAP:
+				break;
 			default:
 				break;
 		}
@@ -1393,6 +1394,7 @@  static int intel_pinctrl_add_padgroups_by_size(struct intel_pinctrl *pctrl,
 		gpps[i].size = min(gpp_size, npins);
 		npins -= gpps[i].size;
 
+		gpps[i].gpio_base = gpps[i].base;
 		gpps[i].padown_num = padown_num;
 
 		/*