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 <[email protected]>
> Signed-off-by: Andy Shevchenko <[email protected]>
> Acked-by: Mika Westerberg <[email protected]>
> ---
> 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
> 

-- 
With Best Regards,
Andy Shevchenko


Reply via email to