[RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml

Richard Zhu hongxing.zhu at nxp.com
Thu Jul 22 20:11:39 PDT 2021


> -----Original Message-----
> From: Rob Herring <robh at kernel.org>
> Sent: Thursday, July 22, 2021 10:37 PM
> To: Richard Zhu <hongxing.zhu at nxp.com>
> Cc: dl-linux-imx <linux-imx at nxp.com>; linux-arm-kernel at lists.infradead.org;
> l.stach at pengutronix.de; galak at kernel.crashing.org; shawnguo at kernel.org;
> linux-kernel at vger.kernel.org; devicetree at vger.kernel.org
> Subject: Re: [RFC 1/2] dt-bindings: PCI: imx6: add fsl,imx6q-pcie.yaml
> 
> On Thu, 22 Jul 2021 16:22:34 +0800, Richard Zhu wrote:
> > Convert the fsl,imx6q-pcie.txt into a schema.
> >
> > Signed-off-by: Richard Zhu <hongxing.zhu at nxp.com>
> > ---
> >  .../bindings/pci/fsl,imx6q-pcie.yaml          | 212
> ++++++++++++++++++
> >  MAINTAINERS                                   |   1 +
> >  2 files changed, 213 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.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:
> make[1]: *** Deleting file
> 'Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dts'
> Traceback (most recent call last):
>   File "/usr/local/bin/dt-extract-example", line 45, in <module>
>     binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line
> 434, in load
>     return constructor.get_single_data()
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 122, in get_single_data
>     return self.construct_document(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 132, in construct_document
>     for _dummy in generator:
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 722, in construct_yaml_map
>     value = self.construct_mapping(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 446, in construct_mapping
>     return BaseConstructor.construct_mapping(self, node, deep=deep)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 264, in construct_mapping
>     if self.check_mapping_key(node, key_node, mapping, key, value):
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 295, in check_mapping_key
>     raise DuplicateKeyError(*args)
> ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
>   in "<unicode string>", line 22, column 5 found duplicate key "const" with
> value "fsl,imx6sx-pcie" (original value: "fsl,imx6q-pcie")
>   in "<unicode string>", line 23, column 5
> 
> To suppress this check see:
> 
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fyaml.re
> adthedocs.io%2Fen%2Flatest%2Fapi.html%23duplicate-keys&data=04%
> 7C01%7Chongxing.zhu%40nxp.com%7C6171b22cdb104315be0d08d94d1e36
> 3f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6376256144309
> 20703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4Mu4S%2B6
> KeTg4gaCCL2Q%2ByjO7FbENp5LGHVRPuBhtvCc%3D&reserved=0
> 
> Duplicate keys will become an error in future releases, and are errors by
> default when using the new API.
> 
> make[1]: *** [Documentation/devicetree/bindings/Makefile:20:
> Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dts] Error 1
> make[1]: *** Waiting for unfinished jobs....
> 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 25, in check_doc
>     testtree = dtschema.load(filename, line_number=line_number)
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 623, in
> load
>     return yaml.load(f.read())
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line
> 434, in load
>     return constructor.get_single_data()
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 122, in get_single_data
>     return self.construct_document(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 132, in construct_document
>     for _dummy in generator:
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 722, in construct_yaml_map
>     value = self.construct_mapping(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 446, in construct_mapping
>     return BaseConstructor.construct_mapping(self, node, deep=deep)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 264, in construct_mapping
>     if self.check_mapping_key(node, key_node, mapping, key, value):
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 295, in check_mapping_key
>     raise DuplicateKeyError(*args)
> ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
>   in "<unicode string>", line 22, column 5 found duplicate key "const" with
> value "fsl,imx6sx-pcie" (original value: "fsl,imx6q-pcie")
>   in "<unicode string>", line 23, column 5
> 
> To suppress this check see:
> 
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fyaml.re
> adthedocs.io%2Fen%2Flatest%2Fapi.html%23duplicate-keys&data=04%
> 7C01%7Chongxing.zhu%40nxp.com%7C6171b22cdb104315be0d08d94d1e36
> 3f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6376256144309
> 20703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4Mu4S%2B6
> KeTg4gaCCL2Q%2ByjO7FbENp5LGHVRPuBhtvCc%3D&reserved=0
> 
> Duplicate keys will become an error in future releases, and are errors by
> default when using the new API.
> 
> 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 585, in
> process_schemas
>     sch = process_schema(os.path.abspath(filename))
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 558, in
> process_schema
>     schema = load_schema(filename)
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 125, in
> load_schema
>     return do_load(os.path.join(schema_basedir, schema))
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 111, in
> do_load
>     return yaml.load(f.read())
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line
> 434, in load
>     return constructor.get_single_data()
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 122, in get_single_data
>     return self.construct_document(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 132, in construct_document
>     for _dummy in generator:
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 722, in construct_yaml_map
>     value = self.construct_mapping(node)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 446, in construct_mapping
>     return BaseConstructor.construct_mapping(self, node, deep=deep)
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 264, in construct_mapping
>     if self.check_mapping_key(node, key_node, mapping, key, value):
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 295, in check_mapping_key
>     raise DuplicateKeyError(*args)
> ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping
>   in "<unicode string>", line 22, column 5 found duplicate key "const" with
> value "fsl,imx6sx-pcie" (original value: "fsl,imx6q-pcie")
>   in "<unicode string>", line 23, column 5
> 
> To suppress this check see:
> 
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fyaml.re
> adthedocs.io%2Fen%2Flatest%2Fapi.html%23duplicate-keys&data=04%
> 7C01%7Chongxing.zhu%40nxp.com%7C6171b22cdb104315be0d08d94d1e36
> 3f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6376256144309
> 20703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4Mu4S%2B6
> KeTg4gaCCL2Q%2ByjO7FbENp5LGHVRPuBhtvCc%3D&reserved=0
> 
> Duplicate keys will become an error in future releases, and are errors by
> default when using the new API.
> 
> make[1]: *** [Documentation/devicetree/bindings/Makefile:62:
> Documentation/devicetree/bindings/processed-schema-examples.json] Error
> 1
> make: *** [Makefile:1418: dt_binding_check] Error 2 \ndoc reference errors
> (make refcheckdocs):
> 
> See
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatch
> work.ozlabs.org%2Fpatch%2F1508586&data=04%7C01%7Chongxing.zhu
> %40nxp.com%7C6171b22cdb104315be0d08d94d1e363f%7C686ea1d3bc2b4
> c6fa92cd99c5c301635%7C0%7C0%7C637625614430920703%7CUnknown%
> 7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haW
> wiLCJXVCI6Mn0%3D%7C1000&sdata=1x%2BNE6KyvoYSRAPFxPVXKYu4
> Md59o%2F9CtEKqaCsOwuU%3D&reserved=0
> 
> 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.
[Richard Zhu] Got that. Thanks for your help. Will submit the patch-set after the errors are fixed.

Best Regards
Richard Zhu




More information about the linux-arm-kernel mailing list