devicetree-spec.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michal Simek <michal.simek-5C7GfCeVMHo@public.gmane.org>
To: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: dt_binding_check not reporting all errors
Date: Wed, 26 Apr 2023 09:54:44 +0200	[thread overview]
Message-ID: <f3900805-3b34-e98d-0a0b-7b8d86896530@amd.com> (raw)
In-Reply-To: <CAL_JsqJcJsjnao0FGzx7e-vxYnUGC6S3_GRORq1KyDQzqX-3hw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>



On 4/24/23 19:22, Rob Herring wrote:
> On Mon, Apr 24, 2023 at 11:38 AM Michal Simek <michal.simek-5C7GfCeVMHo@public.gmane.org> wrote:
>>
>> Hi,
>>
>> last week I found that dt_binding_check is not checking all errors with
>> compatible string and I have no idea why. I have used 3 systems and behavior is
>> pretty much the same.
>> I am on the top of 6.3 kernel with
>> dt-validate -V
>> 2023.5.dev3+g31cc52ae483e
>>
>> And here is the behavior.
>> Two compatible string I see errors but if I break only one compatible string I
>> can't see erros. Not sure if this is issue with dt binding document or with host
>> PC setup. Definitely thank you for any hint what to check.
>>
>> Thanks,
>> Michal
>>
>>
>> [linux](master)$ vim Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> [linux](master)$ git diff
>> diff --git a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> index 098b73134a1b..fbd9754ab0a3 100644
>> --- a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> +++ b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> @@ -110,7 +110,7 @@ examples:
>>            usb@0 {
>>                #address-cells = <0x2>;
>>                #size-cells = <0x2>;
>> -            compatible = "xlnx,zynqmp-dwc3";
>> +            compatible = "xlnx,zynqmp-dwc32", "xlnx,zynqmp-dwc3";
>>                reg = <0x0 0xff9d0000 0x0 0x100>;
>>                clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
>>                clock-names = "bus_clk", "ref_clk";
>> [linux](master)$ make
>> DT_SCHEMA_FILES=Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> dt_binding_check
>>     LINT    Documentation/devicetree/bindings
>>     CHKDT   Documentation/devicetree/bindings/processed-schema.json
>>     SCHEMA  Documentation/devicetree/bindings/processed-schema.json
>>     DTEX    Documentation/devicetree/bindings/usb/dwc3-xilinx.example.dts
>>     DTC_CHK Documentation/devicetree/bindings/usb/dwc3-xilinx.example.dtb
>> /dev/shm/linux/Documentation/devicetree/bindings/usb/dwc3-xilinx.example.dtb:
>> usb@0: compatible:0: 'xlnx,zynqmp-dwc32' is not one of ['xlnx,zynqmp-dwc3',
>> 'xlnx,versal-dwc3']
>>          From schema: /dev/shm/linux/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> /dev/shm/linux/Documentation/devicetree/bindings/usb/dwc3-xilinx.example.dtb:
>> usb@0: compatible: ['xlnx,zynqmp-dwc32', 'xlnx,zynqmp-dwc3'] is too long
>>          From schema: /dev/shm/linux/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>>
>>
>>
>> [linux](master)$ vim Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> [linux](master)$ git diff Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> diff --git a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> index 098b73134a1b..0b8985bf9b0b 100644
>> --- a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> +++ b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> @@ -110,7 +110,7 @@ examples:
>>            usb@0 {
>>                #address-cells = <0x2>;
>>                #size-cells = <0x2>;
>> -            compatible = "xlnx,zynqmp-dwc3";
>> +            compatible = "xlnx,zynqmp-dwc32";
>>                reg = <0x0 0xff9d0000 0x0 0x100>;
>>                clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
>>                clock-names = "bus_clk", "ref_clk";
>> [linux](master)$ make
>> DT_SCHEMA_FILES=Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
>> dt_binding_check
>>     LINT    Documentation/devicetree/bindings
>>     CHKDT   Documentation/devicetree/bindings/processed-schema.json
>>     SCHEMA  Documentation/devicetree/bindings/processed-schema.json
>>     DTEX    Documentation/devicetree/bindings/usb/dwc3-xilinx.example.dts
>>     DTC_CHK Documentation/devicetree/bindings/usb/dwc3-xilinx.example.dtb
> 
> 'compatible' is how we decide whether to apply a schema or not (by
> default if there is no 'select' entry). If you have an unknown
> compatible, then no schema is going to be applied (except ones that
> always get applied). The way we check for unknown compatible strings
> is with the '-m' option on dt-validate. That's turned on for
> dtbs_check, but off for dt_binding_check until the remaining 20-30
> warnings are fixed. Also, I don't think that works in conjunction with
> DT_SCHEMA_FILES being set.

ok. Clear. Yes -m is not enabled for DT_SCHEMA_FILES.

Thanks,
Michal


      parent reply	other threads:[~2023-04-26  7:54 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-24 16:38 dt_binding_check not reporting all errors Michal Simek
     [not found] ` <77db7543-cae4-695c-7c86-6562534d4e87-5C7GfCeVMHo@public.gmane.org>
2023-04-24 17:22   ` Rob Herring
     [not found]     ` <CAL_JsqJcJsjnao0FGzx7e-vxYnUGC6S3_GRORq1KyDQzqX-3hw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2023-04-26  7:54       ` Michal Simek [this message]

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=f3900805-3b34-e98d-0a0b-7b8d86896530@amd.com \
    --to=michal.simek-5c7gfcevmho@public.gmane.org \
    --cc=devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /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 read-only IMAP folder(s) and NNTP newsgroup(s).