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

Colin Foster colin.foster at in-advantage.com
Thu Nov 18 18:16:24 PST 2021


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 at 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 at 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 at 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



More information about the linux-arm-kernel mailing list