Re: [RFC PATCH v4 net-next 11/23] pinctrl: ocelot: update pinctrl to automatic base address

Colin Foster
2021-11-19T02:16:32Z

On Wed, Nov 17, 2021 at 02:47:05PM +0100, Clément Léger wrote:
> Le Tue, 16 Nov 2021 18:36:33 +0100,
> Alexandre Belloni <alexandre.belloni@bootlin.com> a écrit :
>
> > Hello,
> >
> > On 15/11/2021 22:23:16-0800, Colin Foster wrote:
> > > struct gpio_chip recommends passing -1 as base to gpiolib. Doing so avoids
> > > conflicts when the chip is external and gpiochip0 already exists.
> > >
> > > Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> > > ---
> > > drivers/pinctrl/pinctrl-ocelot.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/pinctrl/pinctrl-ocelot.c b/drivers/pinctrl/pinctrl-ocelot.c
> > > index cc7fb0556169..f015404c425c 100644
> > > --- a/drivers/pinctrl/pinctrl-ocelot.c
> > > +++ b/drivers/pinctrl/pinctrl-ocelot.c
> > > @@ -1308,7 +1308,7 @@ static int ocelot_gpiochip_register(struct platform_device *pdev,
> > > gc = &info->gpio_chip;
> > > gc->ngpio = info->desc->npins;
> > > gc->parent = &pdev->dev;
> > > - gc->base = 0;
> > > + gc->base = -1;
> >
> > I can't remember why but I'm pretty sure I did that on purpose but this
> > indeed cause issues when the chip is external. I've asked Clément to
> > check, let's see what the result is ;)
>
> After testing, it works on ocelot pcb123 board.

Thank you! Glad to hear it didn't break anything.

>
> Tested-by: Clément Léger <clement.leger@bootlin.com>
>
> >
> > > gc->of_node = info->dev->of_node;
> > > gc->label = "ocelot-gpio";
> > >
> > > --
> > > 2.25.1
> > >
> >
>
>
>
> --
> Clément Léger,
> Embedded Linux and Kernel engineer at Bootlin
> https://bootlin.com