Re: [PATCH] of: property: do not create device links from *nr-gpios

From: Rob Herring
Date: Tue Apr 06 2021 - 18:32:16 EST


On Tue, Apr 6, 2021 at 4:28 PM Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
>
> On Tue, Apr 6, 2021 at 12:28 PM Ilya Lipnitskiy
> <ilya.lipnitskiy@xxxxxxxxx> wrote:
> >
> > On Tue, Apr 6, 2021 at 10:40 AM Rob Herring <robh@xxxxxxxxxx> wrote:
> > >
> > > On Mon, Apr 05, 2021 at 01:18:56PM -0700, Saravana Kannan wrote:
> > > > On Mon, Apr 5, 2021 at 1:10 PM Ilya Lipnitskiy
> > > > <ilya.lipnitskiy@xxxxxxxxx> wrote:
> > > > >
> > > > > Hi Saravana,
> > > > >
> > > > > On Mon, Apr 5, 2021 at 1:01 PM Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
> > > > > >
> > > > > > On Sun, Apr 4, 2021 at 8:14 PM Ilya Lipnitskiy
> > > > > > <ilya.lipnitskiy@xxxxxxxxx> wrote:
> > > > > > >
> > > > > > > [<vendor>,]nr-gpios property is used by some GPIO drivers[0] to indicate
> > > > > > > the number of GPIOs present on a system, not define a GPIO. nr-gpios is
> > > > > > > not configured by #gpio-cells and can't be parsed along with other
> > > > > > > "*-gpios" properties.
> > > > > > >
> > > > > > > scripts/dtc/checks.c also has a special case for nr-gpio{s}. However,
> > > > > > > nr-gpio is not really special, so we only need to fix nr-gpios suffix
> > > > > > > here.
> > > > > >
> > > > > > The only example of this that I see is "snps,nr-gpios".
> > > > > arch/arm64/boot/dts/apm/apm-shadowcat.dtsi uses "apm,nr-gpios", with
> > > > > parsing code in drivers/gpio/gpio-xgene-sb.c. There is also code in
> > > > > drivers/gpio/gpio-adnp.c and drivers/gpio/gpio-mockup.c using
> > > > > "nr-gpios" without any vendor prefix.
> > > >
> > > > Ah ok. I just grepped the DT files. I'm not sure what Rob's position
> > > > is on supporting DT files not in upstream. Thanks for the
> > > > clarification.
> > >
> > > If it's something we had documented, then we have to support it
> > Do I read this correctly as a sort-of Ack of my proposed [PATCH v2] in
> > this thread, since it aligns the code with the published DT schema?
>
> He's talking about the DT binding documentation in the kernel.
>
> I interpret Rob's reply as, you can do all of this:
> 1. Just fix up all drivers that use "*nr-gpios" that don't have
> binding documentation in the kernel. Change them to use ngpios.
> 2. Try to switch away old defunct ARM server DTs from nr-gpios to
> ngpios (both drivers and DT) and see if people notice.
> 3. Change the fw_devlink parsing code to have exceptions only for
> cases that are using nr-gpios after (1) and (2).

Yes, but (3) is not gated on (1) and (2). I'm applying v2.

Rob