Re: [PATCH 2/3] dt-bindings: gpio: Convert UniPhier GPIO to json-schema

From: Rob Herring
Date: Fri Feb 21 2020 - 10:32:20 EST


On Fri, 21 Feb 2020 11:10:01 +0900, Masahiro Yamada wrote:
> Convert the UniPhier GPIO controller binding to DT schema format.
>
> I omitted the 'gpio-ranges' property because it is defined in the
> dt-schema project (/schemas/gpio/gpio.yaml).
>
> As of writing, the 'gpio-ranges-group-names' is not defined in that
> file despite it is a common property described in
> Documentation/devicetree/bindings/gpio/gpio.txt
> So, I defined it in this schema.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> ---
>
> I have a question about the range about 'ngpio'.
>
> ngpios:
> minimum: 0
> maximum: 512
>
> The 'ngpio' property is already defined as 'uint32' in the dt-schema tool:
> https://github.com/robherring/dt-schema/blob/master/schemas/gpio/gpio.yaml#L20
>
> 'uint32' is unsigned, so 'minimum: 0' looks too obvious.
>
> I cannot omit the minimum because minimum and maximum depend on each other.
> I just put a sensible number, 512, in maximum.
>
> If this range is entirely unneeded, I will delete it.

This property is generally for when you can have some number less
than a maximum number implied by the compatible string.

If there is really no max (e.g. 2^32 - 1 is valid), then just do
'ngpios: true'

>
>
> .../bindings/gpio/gpio-uniphier.txt | 51 -----------
> .../gpio/socionext,uniphier-gpio.yaml | 89 +++++++++++++++++++
> MAINTAINERS | 2 +-
> 3 files changed, 90 insertions(+), 52 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-uniphier.txt
> create mode 100644 Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
>

My bot found errors running 'make dt_binding_check' on your patch:

Documentation/devicetree/bindings/display/simple-framebuffer.example.dts:21.16-37.11: Warning (chosen_node_is_root): /example-0/chosen: chosen node must be at root node
Error: Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.example.dts:38.34-35 syntax error
FATAL ERROR: Unable to parse input tree
scripts/Makefile.lib:300: recipe for target 'Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.example.dt.yaml' failed
make[1]: *** [Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.example.dt.yaml] Error 1
Makefile:1263: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2

See https://patchwork.ozlabs.org/patch/1241747
Please check and re-submit.