From: Geert Uytterhoeven <geert@linux-m68k.org> To: Linus Walleij <linus.walleij@linaro.org> Cc: "Rob Herring" <robh+dt@kernel.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 12:23:47 +0200 [thread overview] Message-ID: <CAMuHMdUqAwTSJuPXxJWgXGX1Hb=WLR3QtEm+RuhbyivFA5fUKA@mail.gmail.com> (raw) In-Reply-To: <CACRpkdbQE1-WgD_BBkHx9DvJ=GfW7-PCoF-73TKGpgh4c6Epxw@mail.gmail.com> 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"... > > + 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. If we leave this out, something still has to refer to it? I see no other binding doing that... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
WARNING: multiple messages have this Message-ID (diff)
From: Geert Uytterhoeven <geert@linux-m68k.org> To: Linus Walleij <linus.walleij@linaro.org> Cc: "Rob Herring" <robh+dt@kernel.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 12:23:47 +0200 [thread overview] Message-ID: <CAMuHMdUqAwTSJuPXxJWgXGX1Hb=WLR3QtEm+RuhbyivFA5fUKA@mail.gmail.com> (raw) In-Reply-To: <CACRpkdbQE1-WgD_BBkHx9DvJ=GfW7-PCoF-73TKGpgh4c6Epxw@mail.gmail.com> 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"... > > + 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. If we leave this out, something still has to refer to it? I see no other binding doing that... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds _______________________________________________ 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 10: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 [this message] 2021-05-21 10:23 ` Geert Uytterhoeven 2021-05-21 18:24 ` Rob Herring 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='CAMuHMdUqAwTSJuPXxJWgXGX1Hb=WLR3QtEm+RuhbyivFA5fUKA@mail.gmail.com' \ --to=geert@linux-m68k.org \ --cc=bcousson@baylibre.com \ --cc=bgolaszewski@baylibre.com \ --cc=devicetree@vger.kernel.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=robh+dt@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: linkBe 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.