From: Rob Herring <robh@kernel.org>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: "Linus Walleij" <linus.walleij@linaro.org>,
"Laurent Pinchart" <laurent.pinchart+renesas@ideasonboard.com>,
"Bartosz Golaszewski" <bgolaszewski@baylibre.com>,
"Benoît Cousson" <bcousson@baylibre.com>,
"Tony Lindgren" <tony@atomide.com>,
"Jan Tuerk" <jan.tuerk@emtrion.com>,
"Shawn Guo" <shawnguo@kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
Linux-OMAP <linux-omap@vger.kernel.org>,
"Linux ARM" <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 3/3] dt-bindings: gpio: pcf857x: Convert to json-schema
Date: Fri, 21 May 2021 13:24:03 -0500 [thread overview]
Message-ID: <20210521182403.GA50332@robh.at.kernel.org> (raw)
In-Reply-To: <CAMuHMdUqAwTSJuPXxJWgXGX1Hb=WLR3QtEm+RuhbyivFA5fUKA@mail.gmail.com>
On Fri, May 21, 2021 at 12:23:47PM +0200, Geert Uytterhoeven wrote:
> Hi Linus,
>
> On Fri, May 21, 2021 at 12:04 PM Linus Walleij <linus.walleij@linaro.org> wrote:
> > On Fri, May 21, 2021 at 9:54 AM Geert Uytterhoeven
> > <geert+renesas@glider.be> wrote:
> > > Convert the PCF857x-compatible I/O expanders Device Tree binding
> > > documentation to json-schema.
> > >
> > > Document missing compatible values, properties, and gpio hogs.
> > >
> > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >
> > (...)
> > > Perhaps the "ti,pcf8575" construct should be removed, and the few users
> > > fixed instead?
> >
> > You would rather list it as deprecated I think?
> > It is ABI...
>
> All DTS files use the "nxp,pcf8575" fallback, except for
> arch/x86/platform/ce4100/falconfalls.dts.
> The latter ain't working with Linux, as the Linux driver doesn't
> match against "ti,pcf8575"...
Perhaps can it just be removed?
>
> > > + gpio-controller: true
> >
> > So this is implicitly using the generic schema in
> > /dtschema/schemas/gpio/gpio.yaml
>
> if you leave it out:
>
> Documentation/devicetree/bindings/gpio/nxp,pcf8575.yaml: ignoring,
> error in schema: properties
> warning: no schema found in file:
> Documentation/devicetree/bindings/gpio/nxp,pcf8575.yaml
> Documentation/devicetree/bindings/gpio/nxp,pcf8575.yaml:
> properties: 'gpio-controller' is a dependency of '#gpio-cells'
> from schema $id: http://devicetree.org/meta-schemas/gpios.yaml#
>
> > > + lines-initial-states:
> > > + $ref: /schemas/types.yaml#/definitions/uint32
> > > + description:
> > > + Bitmask that specifies the initial state of each line.
> > > + When a bit is set to zero, the corresponding line will be initialized to
> > > + the input (pulled-up) state.
> > > + When the bit is set to one, the line will be initialized to the
> > > + low-level output state.
> > > + If the property is not specified all lines will be initialized to the
> > > + input state.
> >
> > Is this something we standardized or something that should
> > actually be a custom "nxp," property we just missed it?
> > (Looks like the latter... oh well, now it is there.)
>
> Too late for an "nxp," prefix.
> See the NOTE in drivers/gpio/gpio-pcf857x.c:
>
> /* NOTE: these chips have strange "quasi-bidirectional" I/O pins.
> * We can't actually know whether a pin is configured (a) as output
> * and driving the signal low, or (b) as input and reporting a low
> * value ... without knowing the last value written since the chip
> * came out of reset (if any). We can't read the latched output.
> *
> * In short, the only reliable solution for setting up pin direction
> * is to do it explicitly. The setup() method can do that, but it
> * may cause transient glitching since it can't know the last value
> * written (some pins may need to be driven low).
> *
> * Using n_latch avoids that trouble. When left initialized to zero,
> * our software copy of the "latch" then matches the chip's all-ones
> * reset state. Otherwise it flags pins to be driven low.
> */
>
> > > +patternProperties:
> > > + "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
> > > + type: object
> >
> > But this is already in
> > /dtschema/schemas/gpio/gpio-hog.yaml
> > for nodename, isn't that where it properly belongs?
> >
> > I'm however confused here Rob will know what to do.
This one is a bit odd.
> If we leave this out, something still has to refer to it?
> I see no other binding doing that...
It's selected by 'gpio-hog' being present, but here you need to make
sure that's the case.
And I would hope you could define the node name to be just 1 of the 2
cases.
Rob
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: "Linus Walleij" <linus.walleij@linaro.org>,
"Laurent Pinchart" <laurent.pinchart+renesas@ideasonboard.com>,
"Bartosz Golaszewski" <bgolaszewski@baylibre.com>,
"Benoît Cousson" <bcousson@baylibre.com>,
"Tony Lindgren" <tony@atomide.com>,
"Jan Tuerk" <jan.tuerk@emtrion.com>,
"Shawn Guo" <shawnguo@kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
Linux-OMAP <linux-omap@vger.kernel.org>,
"Linux ARM" <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 3/3] dt-bindings: gpio: pcf857x: Convert to json-schema
Date: Fri, 21 May 2021 13:24:03 -0500 [thread overview]
Message-ID: <20210521182403.GA50332@robh.at.kernel.org> (raw)
In-Reply-To: <CAMuHMdUqAwTSJuPXxJWgXGX1Hb=WLR3QtEm+RuhbyivFA5fUKA@mail.gmail.com>
On Fri, May 21, 2021 at 12:23:47PM +0200, Geert Uytterhoeven wrote:
> Hi Linus,
>
> On Fri, May 21, 2021 at 12:04 PM Linus Walleij <linus.walleij@linaro.org> wrote:
> > On Fri, May 21, 2021 at 9:54 AM Geert Uytterhoeven
> > <geert+renesas@glider.be> wrote:
> > > Convert the PCF857x-compatible I/O expanders Device Tree binding
> > > documentation to json-schema.
> > >
> > > Document missing compatible values, properties, and gpio hogs.
> > >
> > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >
> > (...)
> > > Perhaps the "ti,pcf8575" construct should be removed, and the few users
> > > fixed instead?
> >
> > You would rather list it as deprecated I think?
> > It is ABI...
>
> All DTS files use the "nxp,pcf8575" fallback, except for
> arch/x86/platform/ce4100/falconfalls.dts.
> The latter ain't working with Linux, as the Linux driver doesn't
> match against "ti,pcf8575"...
Perhaps can it just be removed?
>
> > > + gpio-controller: true
> >
> > So this is implicitly using the generic schema in
> > /dtschema/schemas/gpio/gpio.yaml
>
> if you leave it out:
>
> Documentation/devicetree/bindings/gpio/nxp,pcf8575.yaml: ignoring,
> error in schema: properties
> warning: no schema found in file:
> Documentation/devicetree/bindings/gpio/nxp,pcf8575.yaml
> Documentation/devicetree/bindings/gpio/nxp,pcf8575.yaml:
> properties: 'gpio-controller' is a dependency of '#gpio-cells'
> from schema $id: http://devicetree.org/meta-schemas/gpios.yaml#
>
> > > + lines-initial-states:
> > > + $ref: /schemas/types.yaml#/definitions/uint32
> > > + description:
> > > + Bitmask that specifies the initial state of each line.
> > > + When a bit is set to zero, the corresponding line will be initialized to
> > > + the input (pulled-up) state.
> > > + When the bit is set to one, the line will be initialized to the
> > > + low-level output state.
> > > + If the property is not specified all lines will be initialized to the
> > > + input state.
> >
> > Is this something we standardized or something that should
> > actually be a custom "nxp," property we just missed it?
> > (Looks like the latter... oh well, now it is there.)
>
> Too late for an "nxp," prefix.
> See the NOTE in drivers/gpio/gpio-pcf857x.c:
>
> /* NOTE: these chips have strange "quasi-bidirectional" I/O pins.
> * We can't actually know whether a pin is configured (a) as output
> * and driving the signal low, or (b) as input and reporting a low
> * value ... without knowing the last value written since the chip
> * came out of reset (if any). We can't read the latched output.
> *
> * In short, the only reliable solution for setting up pin direction
> * is to do it explicitly. The setup() method can do that, but it
> * may cause transient glitching since it can't know the last value
> * written (some pins may need to be driven low).
> *
> * Using n_latch avoids that trouble. When left initialized to zero,
> * our software copy of the "latch" then matches the chip's all-ones
> * reset state. Otherwise it flags pins to be driven low.
> */
>
> > > +patternProperties:
> > > + "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
> > > + type: object
> >
> > But this is already in
> > /dtschema/schemas/gpio/gpio-hog.yaml
> > for nodename, isn't that where it properly belongs?
> >
> > I'm however confused here Rob will know what to do.
This one is a bit odd.
> If we leave this out, something still has to refer to it?
> I see no other binding doing that...
It's selected by 'gpio-hog' being present, but here you need to make
sure that's the case.
And I would hope you could define the node name to be just 1 of the 2
cases.
Rob
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-05-21 18:24 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-21 7:54 [PATCH 0/3] pcf857x: DTS fixes and DT binding to json-schema conversion Geert Uytterhoeven
2021-05-21 7:54 ` Geert Uytterhoeven
2021-05-21 7:54 ` [PATCH 1/3] ARM: dts: dra7x-evm: Align GPIO hog names with dt-schema Geert Uytterhoeven
2021-05-21 7:54 ` Geert Uytterhoeven
2021-05-23 1:54 ` Laurent Pinchart
2021-05-23 1:54 ` Laurent Pinchart
2021-05-27 12:02 ` Tony Lindgren
2021-05-27 12:02 ` Tony Lindgren
2021-05-21 7:54 ` [PATCH 2/3] ARM: dts: imx: emcon-avari: Fix nxp,pca8574 #gpio-cells Geert Uytterhoeven
2021-05-21 7:54 ` Geert Uytterhoeven
2021-05-23 1:55 ` Laurent Pinchart
2021-05-23 1:55 ` Laurent Pinchart
2021-05-23 5:42 ` Shawn Guo
2021-05-23 5:42 ` Shawn Guo
2021-05-21 7:54 ` [PATCH 3/3] dt-bindings: gpio: pcf857x: Convert to json-schema Geert Uytterhoeven
2021-05-21 7:54 ` Geert Uytterhoeven
2021-05-21 10:04 ` Linus Walleij
2021-05-21 10:04 ` Linus Walleij
2021-05-21 10:23 ` Geert Uytterhoeven
2021-05-21 10:23 ` Geert Uytterhoeven
2021-05-21 18:24 ` Rob Herring [this message]
2021-05-21 18:24 ` Rob Herring
2021-05-27 15:04 ` Geert Uytterhoeven
2021-05-27 15:04 ` Geert Uytterhoeven
2021-05-23 1:52 ` Laurent Pinchart
2021-05-23 1:52 ` Laurent Pinchart
2021-05-27 14:43 ` Geert Uytterhoeven
2021-05-27 14:43 ` Geert Uytterhoeven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210521182403.GA50332@robh.at.kernel.org \
--to=robh@kernel.org \
--cc=bcousson@baylibre.com \
--cc=bgolaszewski@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=jan.tuerk@emtrion.com \
--cc=laurent.pinchart+renesas@ideasonboard.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=shawnguo@kernel.org \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.