Hi Krzysztof, On Sun, 1 May 2022 10:51:43 +0200 Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: [...] > > resets: > > maxItems: 1 > > @@ -106,13 +106,45 @@ required: > > - interrupt-map > > - interrupt-map-mask > > - clocks > > - - resets > > - power-domains > > - bus-range > > - "#address-cells" > > - "#size-cells" > > - "#interrupt-cells" > > > > +if: > > allOf. > > > + properties: > > + compatible: > > + contains: > > + enum: I Have an issue with this allOf. The yaml has the following structure and so has 2 AllOf: ... allOf: - $ref: /schemas/pci/pci-bus.yaml# properties: compatible: ... allOf: - if: properties: compatible: contains: ... make dt_binding_check failed with the following error: $ make dt_binding_check DT_SCHEMA_FILES=renesas,pci-rcar-gen2.yaml LINT Documentation/devicetree/bindings ./Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.yaml:115:1: [error] duplication of key "allOf" in mapping (key-duplicates) CHKDT Documentation/devicetree/bindings/processed-schema.json Traceback (most recent call last): File "/home/hcodina/.local/bin/dt-doc-validate", line 25, in check_doc testtree = dtschema.load(filename, line_number=line_number) File "/home/hcodina/.local/lib/python3.10/site-packages/dtschema/lib.py", line 912, in load return yaml.load(f.read()) File "/home/hcodina/.local/lib/python3.10/site-packages/ruamel/yaml/main.py", line 434, in load return constructor.get_single_data() File "/home/hcodina/.local/lib/python3.10/site-packages/ruamel/yaml/constructor.py", line 121, in get_single_data return self.construct_document(node) File "/home/hcodina/.local/lib/python3.10/site-packages/ruamel/yaml/constructor.py", line 131, in construct_document for _dummy in generator: File "/home/hcodina/.local/lib/python3.10/site-packages/ruamel/yaml/constructor.py", line 674, in construct_yaml_map value = self.construct_mapping(node) File "/home/hcodina/.local/lib/python3.10/site-packages/ruamel/yaml/constructor.py", line 445, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "/home/hcodina/.local/lib/python3.10/site-packages/ruamel/yaml/constructor.py", line 263, in construct_mapping if self.check_mapping_key(node, key_node, mapping, key, value): File "/home/hcodina/.local/lib/python3.10/site-packages/ruamel/yaml/constructor.py", line 294, in check_mapping_key raise DuplicateKeyError(*args) ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping in "<unicode string>", line 4, column 1 found duplicate key "allOf" with value "[]" (original value: "[]") in "<unicode string>", line 115, column 1 To suppress this check see: http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/hcodina/.local/bin/dt-doc-validate", line 74, in <module> ret = check_doc(f) File "/home/hcodina/.local/bin/dt-doc-validate", line 30, in check_doc print(filename + ":", exc.path[-1], exc.message, file=sys.stderr) AttributeError: 'DuplicateKeyError' object has no attribute 'path' SCHEMA Documentation/devicetree/bindings/processed-schema.json /home/hcodina/project/xxxx/dev/linux/upstream_usb_host/Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.yaml: ignoring, error parsing file DTEX Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.example.dts Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.yaml: found duplicate key "allOf" with value "[]" (original value: "[]") make[1]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.example.dts] Error 1 make[1]: *** Deleting file 'Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.example.dts' make: *** [Makefile:1401: dt_binding_check] Error 2 [hcodina@localhost upstream_usb_host]$ [hcodina@localhost upstream_usb_host]$ make ARCH=arm CROSS_COMPILE=/home/hcodina/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- dt_binding_check DT_SCHEMA_FILES=renesas,pci-rcar-gen2.yaml DTEX Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.example.dts Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.yaml: found duplicate key "allOf" with value "[]" (original value: "[]") make[1]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.example.dts] Error 1 make[1]: *** Deleting file 'Documentation/devicetree/bindings/pci/renesas,pci-rcar-gen2.example.dts' make: *** [Makefile:1401: dt_binding_check] Error 2 Is having a 'allOf' for schemas inclusion and a 'allOf' for conditionnal parts allowed ? Regards, Hervé