On Fri, 28 May 2021 09:23:50 +0200, Heiko Schocher wrote:
> The Microchip 48l640 is a 8KByte EERAM connected via SPI.
> Add devicetree bindings documentation.
>
> Signed-off-by: Heiko Schocher <[email protected]>
> ---
> I must admit that I created the file
>
> Documentation/devicetree/bindings/mtd/microchip,mchp48l640.yaml
>
> by hand, looking into other yaml files...
>
> Is there a way to check such a file to its correctness?
>
> .../bindings/mtd/microchip,mchp48l640.yaml | 40 +++++++++++++++++++
> 1 file changed, 40 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mtd/microchip,mchp48l640.yaml
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Traceback (most recent call last):
File "/usr/local/bin/dt-doc-validate", line 67, in <module>
ret = check_doc(f)
File "/usr/local/bin/dt-doc-validate", line 33, in check_doc
for error in sorted(dtschema.DTValidator.iter_schema_errors(testtree), key=lambda e: e.linecol):
File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 723, in iter_schema_errors
meta_schema = cls.resolver.resolve_from_url(schema['$schema'])
KeyError: '$schema'
make[1]: *** Deleting file 'Documentation/devicetree/bindings/processed-schema-examples.json'
Traceback (most recent call last):
File "/usr/local/bin/dt-mk-schema", line 38, in <module>
schemas = dtschema.process_schemas(args.schemas, core_schema=(not args.useronly))
File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 587, in process_schemas
sch = process_schema(os.path.abspath(filename))
File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 568, in process_schema
DTValidator.check_schema(schema)
File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 738, in check_schema
meta_schema = cls.resolver.resolve_from_url(schema['$schema'])
KeyError: '$schema'
make[1]: *** [Documentation/devicetree/bindings/Makefile:62: Documentation/devicetree/bindings/processed-schema-examples.json] Error 1
make: *** [Makefile:1416: dt_binding_check] Error 2
See https://patchwork.ozlabs.org/patch/1485038
This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit.
Hello Rob,
On 28.05.21 18:21, Rob Herring wrote:
> On Fri, 28 May 2021 09:23:50 +0200, Heiko Schocher wrote:
>> The Microchip 48l640 is a 8KByte EERAM connected via SPI.
>> Add devicetree bindings documentation.
>>
>> Signed-off-by: Heiko Schocher <[email protected]>
>> ---
>> I must admit that I created the file
>>
>> Documentation/devicetree/bindings/mtd/microchip,mchp48l640.yaml
>>
>> by hand, looking into other yaml files...
>>
>> Is there a way to check such a file to its correctness?
>>
>> .../bindings/mtd/microchip,mchp48l640.yaml | 40 +++++++++++++++++++
>> 1 file changed, 40 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/mtd/microchip,mchp48l640.yaml
>>
>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> Traceback (most recent call last):
> File "/usr/local/bin/dt-doc-validate", line 67, in <module>
> ret = check_doc(f)
> File "/usr/local/bin/dt-doc-validate", line 33, in check_doc
> for error in sorted(dtschema.DTValidator.iter_schema_errors(testtree), key=lambda e: e.linecol):
> File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 723, in iter_schema_errors
> meta_schema = cls.resolver.resolve_from_url(schema['$schema'])
> KeyError: '$schema'
> make[1]: *** Deleting file 'Documentation/devicetree/bindings/processed-schema-examples.json'
> Traceback (most recent call last):
> File "/usr/local/bin/dt-mk-schema", line 38, in <module>
> schemas = dtschema.process_schemas(args.schemas, core_schema=(not args.useronly))
> File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 587, in process_schemas
> sch = process_schema(os.path.abspath(filename))
> File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 568, in process_schema
> DTValidator.check_schema(schema)
> File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 738, in check_schema
> meta_schema = cls.resolver.resolve_from_url(schema['$schema'])
> KeyError: '$schema'
> make[1]: *** [Documentation/devicetree/bindings/Makefile:62: Documentation/devicetree/bindings/processed-schema-examples.json] Error 1
> make: *** [Makefile:1416: dt_binding_check] Error 2
>
> See https://patchwork.ozlabs.org/patch/1485038
>
> This check can fail if there are any dependencies. The base for a patch
> series is generally the most recent rc1.
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
>
> pip3 install dtschema --upgrade
>
> Please check and re-submit.
I just setup this stuff, and have now a
'make DT_CHECKER_FLAGS=-m dt_binding_check'
running without warnings from my new yaml file.
Thanks for your help!
Will send a v2 soon...
bye,
Heiko
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: [email protected]