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@xxxxxxxxx> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > --- > 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