devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: William Zhang <william.zhang@broadcom.com>
Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	f.fainelli@gmail.com,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Subject: Re: dt_binding_check report false alarm?
Date: Thu, 8 Jun 2023 08:57:42 -0600	[thread overview]
Message-ID: <20230608145742.GA2609597-robh@kernel.org> (raw)
In-Reply-To: <20230525050241.3700-1-william.zhang@broadcom.com>

On Wed, May 24, 2023 at 10:02:41PM -0700, William Zhang wrote:
> 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@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

This is a quirk of json-schema in that the 'if' will be true if the 
property is not present. Adding this to the 'if' should fix the problem:

required:
  - interrupts

> +    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
> 



  parent reply	other threads:[~2023-06-08 14:57 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-25  5:02 dt_binding_check report false alarm? William Zhang
2023-05-25 13:23 ` Conor Dooley
2023-05-25 15:23   ` William Zhang
2023-05-25 15:33     ` Conor Dooley
2023-05-25 17:10       ` William Zhang
2023-05-25 18:12         ` Conor Dooley
2023-05-26  5:56           ` William Zhang
2023-05-26  6:25             ` Conor Dooley
2023-05-25 17:29     ` Robin Murphy
2023-05-26  1:43 ` Rob Herring
2023-06-08 14:57 ` Rob Herring [this message]
2023-06-08 23:00   ` William Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230608145742.GA2609597-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=william.zhang@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).