Hi Rob, On Sat, Feb 22, 2020 at 12:32 AM Rob Herring <robh@xxxxxxxxxx> wrote: > > 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' What does ': true' mean? If it is documented somewhere, could you point me to the reference? Even if I remove the 'ngpio' entirely from my dt-schema, the 'ngpio' is checked correctly. > > > > > > > .../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. OK, I will. -- Best Regards Masahiro Yamada