Hi Stefan, On Mon, Feb 27, 2023 at 6:52 PM Stefan Wahren <stefan.wahren@xxxxxxxx> wrote: > > Hi Dario, > > Am 26.02.23 um 21:53 schrieb Dario Binacchi: > > Since commit 502df79b860563d7 ("gpiolib: Warn on drivers still using static > > gpiobase allocation"), one or more warnings are printed during boot on > > systems where static allocation of GPIO base is used: > > > > [ 0.136834] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation. > > [ 0.142753] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation. > > [ 0.148452] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation. > > [ 0.154341] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation. > > [ 0.160097] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation. > > > > So let's follow the suggestion and use dynamic allocation. > > i understand the motivation of avoiding these warnings. > > AFAIK the MXS platform is older than the dynamic allocation of GPIO > base. In the perfect world all applications has been migrated to > libgpiod / chardev GPIO. But i'm really concerned this hasn't happend > yet, at least for this platform. So i believe this change break > applications, since it affects userspace. Thanks for your explanations. Do you think it makes sense to use a Kconfig option to enable/disable the dynamic allocation of GPIO base? As done, if I'm not mistaken, in commit 80d34260f36c6 ("pinctrl: renesas: gpio: Use dynamic GPIO base if no function GPIOs")? With legacy support enabled by default, but the ability to try out the latest dynamic allocation functionality. Thanks and regards, Dario > > Best regards > > > > > Signed-off-by: Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxx> > > --- > > > > drivers/gpio/gpio-mxs.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c > > index 7f59e5d936c2..b48a7c1fb7c1 100644 > > --- a/drivers/gpio/gpio-mxs.c > > +++ b/drivers/gpio/gpio-mxs.c > > @@ -330,7 +330,7 @@ static int mxs_gpio_probe(struct platform_device *pdev) > > > > port->gc.to_irq = mxs_gpio_to_irq; > > port->gc.get_direction = mxs_gpio_get_direction; > > - port->gc.base = port->id * 32; > > + port->gc.base = -1; > > > > err = gpiochip_add_data(&port->gc, port); > > if (err) -- Dario Binacchi Senior Embedded Linux Developer dario.binacchi@xxxxxxxxxxxxxxxxxxxx __________________________________ Amarula Solutions SRL Via Le Canevare 30, 31100 Treviso, Veneto, IT T. +39 042 243 5310 info@xxxxxxxxxxxxxxxxxxxx www.amarulasolutions.com