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

Clément Léger clement.leger at bootlin.com
Wed Nov 17 05:47:05 PST 2021


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.

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