Re: [PATCH v2 1/1] dt-bindings: misc: add support for both property names cmd-gpios and cmd-gpio

From: Geert Uytterhoeven
Date: Thu Oct 15 2020 - 03:01:45 EST


Hi Zhen,

Thanks for your patch!

On Thu, Oct 15, 2020 at 6:52 AM Zhen Lei <thunder.leizhen@xxxxxxxxxx> wrote:
> The definition "gpio_suffixes[] = { "gpios", "gpio" }" shows that both
> property names "cmd-gpios" and "cmd-gpio" are supported. But currently
> only "cmd-gpios" is allowed in this yaml, and the name used in
> mmp2-olpc-xo-1-75.dts is cmd-gpio. As a result, the following errors is
> reported.
>
> slave: 'cmd-gpios' is a required property
> slave: 'cmd-gpio' does not match any of the regexes: 'pinctrl-[0-9]+'
>
> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml
> index b3c45c046ba5e37..dd549380a085709 100644
> --- a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml
> +++ b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml
> @@ -24,15 +24,21 @@ properties:
> compatible:
> const: olpc,xo1.75-ec
>
> - cmd-gpios:
> + spi-cpha: true
> +
> +patternProperties:
> + "^cmd-gpio[s]?$":
> description: GPIO uspecifier of the CMD pin
> maxItems: 1

In general, the *-gpio form is deprecated. So why complicate the DT
bindings by adding support for deprecated properties?

1. Explicitly allowing deprecated properties means new users may be
added,
2. Once all in-tree DTS files are converted, the warnings will be gone
anyway,
3. Out-of-tree DTB will still work, as it's very unlikely support for
the "gpio" suffix can/will be dropped anytime soon,
4. If anyone runs the validator on out-of-tree DTS files, the most
probable intention is to fix any detected issues anyway, and the
files can be updated, too,
5. If any out-of-tree code or tooling relies on the *-gpio form, it
may already be broken.

> - spi-cpha: true
> -
> required:
> - compatible
> - - cmd-gpios
> +
> +oneOf:
> + - required:
> + - cmd-gpio
> + - required:
> + - cmd-gpios
>
> additionalProperties: false

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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