> -----Original Message----- > From: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > Sent: Thursday, February 27, 2025 10:53 PM > To: Wilson Ding <dingwei@xxxxxxxxxxx>; Rob Herring (Arm) > <robh@xxxxxxxxxx> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; Sanghoon Lee <salee@xxxxxxxxxxx>; > conor+dt@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > gregory.clement@xxxxxxxxxxx; p.zabel@xxxxxxxxxxxxxx; Geethasowjanya > Akula <gakula@xxxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx; andrew@xxxxxxx; > krzk+dt@xxxxxxxxxx; sebastian.hesselbarth@xxxxxxxxx > Subject: Re: [EXTERNAL] Re: [PATCH v3 1/3] dt-bindings: reset: Add > Armada8K reset controller > > On 27/02/2025 22:58, Wilson Ding wrote: > >> > >> dtschema/dtc warnings/errors: > >> /builds/robherring/dt-review- > >> ci/linux/Documentation/devicetree/bindings/reset/marvell,armada8k- > >> reset.example.dtb: system-controller@440000: compatible: ['syscon', > >> 'simple- mfd'] is too short > >> from schema $id: https://urldefense.proofpoint.com/v2/url?u=http- > >> <https://urldefense.proofpoint.com/v2/url?u=http- >>> > >> 3A__devicetree.org_schemas_mfd_syscon-2Dcommon.yaml- > >> > 23&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=sXDQZu4GyqNVDlFUXakS > >> GJl0Dh81ZIPlU26YS4KHGIA&m=xw0M-- > >> > 2th9TCt05M0q_c8C0jvg1t4qbuXx9_d3WgCc0HOBpg5_f5E6TjXP_xdcrU&s=3 > >> Gdm4ABV10PnYEpAvJXrV9x-TsfBAHIp5KCn60ohngM&e= > >> > >> doc reference errors (make refcheckdocs): > >> > >> See https://urldefense.proofpoint.com/v2/url?u=https- > >> <https://urldefense.proofpoint.com/v2/url?u=https- >>> > >> 3A__patchwork.ozlabs.org_project_devicetree- > >> 2Dbindings_patch_20250227192536.2426490-2D2-2Ddingwei- > >> > 40marvell.com&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=sXDQZu4GyqN > >> VDlFUXakSGJl0Dh81ZIPlU26YS4KHGIA&m=xw0M-- > >> > 2th9TCt05M0q_c8C0jvg1t4qbuXx9_d3WgCc0HOBpg5_f5E6TjXP_xdcrU&s= > >> WJznALBWhejS9hq88jCvZqevaNdN_5-meKfowRfl-bA&e= > >> > >> The base for the series is generally the latest rc1. A different > >> dependency should be noted in *this* patch. > >> > >> 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 after running the above command yourself. > >> Note that DT_SCHEMA_FILES can be set to your schema file to speed up > >> checking your schema. However, it must be unset to test all examples > >> with your schema. > > > > I cannot reproduce the above error with the latest 'yamllint' and 'dt-schema'. > > > > $ pip3 install dtschema --upgrade > > Requirement already satisfied: dtschema in > > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > package > > s (2025.2) Requirement already satisfied: ruamel.yaml>0.15.69 in > > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > package > > s (from dtschema) (0.18.10) Requirement already satisfied: > > jsonschema<4.18,>=4.1.2 in > > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > package > > s (from dtschema) (4.17.3) Requirement already satisfied: rfc3987 in > > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > package > > s (from dtschema) (1.3.8) Requirement already satisfied: pylibfdt in > > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > package > > s (from dtschema) (1.7.2) Requirement already satisfied: attrs>=17.4.0 > > in /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > packages (from jsonschema<4.18,>=4.1.2->dtschema) (25.1.0) Requirement > already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > packages (from jsonschema<4.18,>=4.1.2->dtschema) (0.20.0) Requirement > already satisfied: ruamel.yaml.clib>=0.2.7 in > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > packages (from ruamel.yaml>0.15.69->dtschema) (0.2.12) $ pip3 install > yamllint Requirement already satisfied: yamllint in > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > packages (1.35.1) Requirement already satisfied: pathspec>=0.5.3 in > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > packages (from yamllint) (0.12.1) Requirement already satisfied: pyyaml in > /home/wilson/workspace/repos/external/venv/lib/python3.12/site- > packages (from yamllint) (6.0.2) $ make dt_binding_check > > SCHEMA Documentation/devicetree/bindings/processed-schema.json > > CHKDT ./Documentation/devicetree/bindings > > LINT ./Documentation/devicetree/bindings > > DTEX Documentation/devicetree/bindings/reset/marvell,armada8k- > reset.example.dts > > DTC [C] > > Documentation/devicetree/bindings/reset/marvell,armada8k-reset.example > > .dtb > > > > That's a bit odd but anyway warning is correct: you cannot have such > compatibles alone. I understand I need to add one compatible here to resolve the warning. However, as we agreed, we keep the sud-nodes while there will be no new compatibles in parent node. So how shall I avoid this warning? If we do want to add a compatible in parent node, what should be used for the compatible name? I think the most suitable name would be something like "marvell,cp110-system-controller0". However, it was already taken for in Armada clock controller to be compatible for legacy dt. https://lore.kernel.org/all/bb21ee9acc55efac884450ff710049b99b27f8bf.1496328934.git-series.gregory.clement@xxxxxxxxxxxxxxxxxx/ This is something about 8 years ago. I wonder if we do need to have the backward compatibility for the field devices at that time. Can we drop it now? syscon0: system-controller@440000 { compatible = "marvell,cp110-system-controller0", "syscon", "simple-mfd"; reg = <0x440000 0x2000>; #address-cells = <1>; #size-cells = <1>; swrst: reset-controller@268 { compatible = "marvell,armada8k-reset"; reg = <0x268 0x4>; #reset-cells = <1>; }; }; > > Best regards, > Krzysztof