[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMRc=MfAW5NDJHtZ1333-xrcCyQfft-pQF1-0Vv_ehY16agShw@mail.gmail.com>
Date: Thu, 18 Jan 2024 13:03:02 +0100
From: Bartosz Golaszewski <brgl@...ev.pl>
To: Andy Shevchenko <andy.shevchenko@...il.com>
Cc: Hector Palacios <hector.palacios@...i.com>, linus.walleij@...aro.org, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org, andy@...nel.org, conor+dt@...nel.org,
shawnguo@...nel.org, s.hauer@...gutronix.de, kernel@...gutronix.de,
festevam@...il.com, linux-imx@....com, stefan@...er.ch,
linux-gpio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 1/3] gpio: vf610: add support to DT 'ngpios' property
On Thu, Jan 18, 2024 at 10:04 AM Andy Shevchenko
<andy.shevchenko@...il.com> wrote:
>
> On Thu, Jan 18, 2024 at 10:25 AM Hector Palacios
> <hector.palacios@...i.com> wrote:
> > On 1/17/24 21:51, Andy Shevchenko wrote:
> > >> Some SoCs, such as i.MX93, don't have all 32 pins available
> > >> per port. Allow optional generic 'ngpios' property to be
> > >> specified from the device tree and default to
> > >> VF610_GPIO_PER_PORT (32) if the property does not exist.
>
> ...
>
> > >> + ret = device_property_read_u32(dev, "ngpios", &ngpios);
> > >> + if (ret || ngpios > VF610_GPIO_PER_PORT)
> > >> + gc->ngpio = VF610_GPIO_PER_PORT;
> > >> + else
> > >> + gc->ngpio = (u16)ngpios;
> > >
> > > This property is being read by the GPIOLIB core. Why do you need to repeat this?
> >
> > My apologies; I had not seen this.
> > I'll use gpiochip_get_ngpios() on the next iteration.
>
> But still why?
> https://elixir.bootlin.com/linux/latest/source/drivers/gpio/gpiolib.c#L867
>
> It's called for every driver.
>
> Maybe it's needed to be refactored to allow fallbacks? Then can the
> GPIO MMIO case also be updated?
>
I guess it's because Hector wants to set an upper limit on the number of GPIOs?
Bart
> --
> With Best Regards,
> Andy Shevchenko
Powered by blists - more mailing lists