> -----Original Message----- > From: Rob Herring <robh@xxxxxxxxxx> > Sent: Thursday, July 22, 2021 10:37 PM > To: Richard Zhu <hongxing.zhu@xxxxxxx> > Cc: dl-linux-imx <linux-imx@xxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > l.stach@xxxxxxxxxxxxxx; galak@xxxxxxxxxxxxxxxxxxx; shawnguo@xxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx > 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@xxxxxxx> > > --- > > .../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