dt_binding_check report false alarm?

William Zhang william.zhang at broadcom.com
Wed May 24 22:02:41 PDT 2023


Hi,

It seems dt_binding_check reports a false error when run on this
modified yaml. I picked this simple file just to demostrate this issue.
Basically I made the interrupts and interrupt-names as optional
properties. But when there are two interrupts present, then
interrupt-names are required.  However in the example, I don't define
interrupts and interrupt-name at all, the dt binding check reports error
that interrupt-names are required:

make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/crypto/fsl-imx-scc.yaml
  LINT    Documentation/devicetree/bindings
  CHKDT   Documentation/devicetree/bindings/processed-schema.json
  SCHEMA  Documentation/devicetree/bindings/processed-schema.json
  DTEX    Documentation/devicetree/bindings/crypto/fsl-imx-scc.example.dts
  DTC_CHK Documentation/devicetree/bindings/crypto/fsl-imx-scc.example.dtb
Documentation/devicetree/bindings/crypto/fsl-imx-scc.example.dtb: crypto at 53fac000: 'interrupt-names' is a required property
	From schema: /home/william/projects/linux/Documentation/devicetree/bindings/crypto/fsl-imx-scc.yaml

This does not make sense to me as name is required only when there are
two interrupts. Can someone familar with this please help to check if I
miss anything in the yaml file or it is indeed a bug in binding check?

Thanks,
William

---
 .../devicetree/bindings/crypto/fsl-imx-scc.yaml     | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/crypto/fsl-imx-scc.yaml b/Documentation/devicetree/bindings/crypto/fsl-imx-scc.yaml
index 563a31605d2b..c37a3a64a78c 100644
--- a/Documentation/devicetree/bindings/crypto/fsl-imx-scc.yaml
+++ b/Documentation/devicetree/bindings/crypto/fsl-imx-scc.yaml
@@ -32,11 +32,18 @@ properties:
   clock-names:
     const: ipg
 
+allOf:
+  - if:
+      properties:
+        interrupts:
+          minItems: 2
+    then:
+      required:
+        - interrupt-names
+
 required:
   - compatible
   - reg
-  - interrupts
-  - interrupt-names
   - clocks
   - clock-names
 
@@ -49,6 +56,4 @@ examples:
         reg = <0x53fac000 0x4000>;
         clocks = <&clks 111>;
         clock-names = "ipg";
-        interrupts = <49>, <50>;
-        interrupt-names = "scm", "smn";
     };
-- 
2.34.1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4212 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20230524/c0955950/attachment.p7s>


More information about the linux-arm-kernel mailing list