[PATCH] gpio: mxs: use dynamic allocation of base
Dario Binacchi
dario.binacchi at amarulasolutions.com
Mon Feb 27 23:50:58 PST 2023
Hi Stefan,
On Mon, Feb 27, 2023 at 6:52 PM Stefan Wahren <stefan.wahren at i2se.com> 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 at amarulasolutions.com>
> > ---
> >
> > 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 at amarulasolutions.com
__________________________________
Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
info at amarulasolutions.com
www.amarulasolutions.com
More information about the linux-arm-kernel
mailing list