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
prev 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).