Re: [PATCH v2] gpio: mt7621: support gpio-line-names property

From: Sergio Paracuellos
Date: Sun Jun 27 2021 - 05:47:39 EST


Hi Andy,

On Sun, Jun 27, 2021 at 11:33 AM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
>
> On Sat, Jun 26, 2021 at 7:18 PM Sergio Paracuellos
> <sergio.paracuellos@xxxxxxxxx> wrote:
> >
> > The default handling of the gpio-line-names property by the
> > gpiolib-of implementation does not work with the multiple
> > gpiochip banks per device structure used by the gpio-mt7621
> > driver.
> >
> > This commit adds driver level support for the device tree
> > property so that GPIO lines can be assigned friendly names.
>
>
>
> > Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>
> > ---
> > Hi,
> >
> > This driver has three gpiochips with 32 gpios each. Core implementation
>
> implementation
>
>
> > got gpio's repeated along each gpio chip if chip.names is not assigned.
> > To avoid this behaviour driver will set this names as empty or
>
> the driver
> these names
>
> > with desired friendly line names. Consider the following sample with
> > minimal entries for the first chip with this patch changes applied:
>
> The same comment as per v1:
>
> Any idea why it's not a duplicate of
> https://elixir.bootlin.com/linux/v5.13-rc7/C/ident/devprop_gpiochip_set_names,
> and why the latter is not called in your case?

The core properly calls this function but not in the way expected.
This driver implements three banks of 32 gpios each internally using
one gpiochip per bank, all of them in the same device. So the core
code you are pointing out here duplicates the same names along the
three gpiochips which is not the expected behaviour. So implementing
in this way and setting names at least reserved avoids the core code
to be run and also avoids the duplication getting expected behaviour
for all the banks and each line friendly name.

Best regards,
Sergio Paracuellos

>
>
> --
> With Best Regards,
> Andy Shevchenko