On 11/09/2022 19:45, Dmitry Baryshkov wrote: > On Sun, 11 Sept 2022 at 16:57, Krzysztof Kozlowski > <krzysztof.kozlowski@xxxxxxxxxx> wrote: >> >> On 11/09/2022 15:45, Dmitry Baryshkov wrote: >>> On Sun, 11 Sept 2022 at 14:27, Krzysztof Kozlowski >>> <krzysztof.kozlowski@xxxxxxxxxx> wrote: >>>> >>>> On 10/09/2022 14:54, Dmitry Baryshkov wrote: >>>>>> >>>>>> However I think there is no such problem, as Dmitry said, that ref >>>>>> changes anything. There will be always failure - either from parent >>>>>> schema (using $ref) or from device child schema (the one which actually >>>>>> misses the property). >>>>> >>>>> Initially I stumbled upon this issue with the dsi and dsi_phy nodes >>>>> for msm8996 devices. If I have $ref here, dsi1/dsi1_phy nodes will >>>>> emit warnings regarding the missing -supply properties despite nodes >>>>> being disabled. If I use `compatible' here, the schema checks pass. >>>>> Thus I'd prefer to leave `compatible' here. Not to mention that it >>>>> also allows specifying a tighter binding than just using the $ref. >>>> >>>> I don't think we understood each other. I claim that error will be there >>>> anyway, just from different schema. So your change fixes nothing in >>>> total schema check... >>> >>> If the node is disabled, there will be no different schema check. >> >> As I wrote before, there was. > > The following results were captured with the following command, with > most of the DSI and MDSS schema files fixed, using the following > command: > $ PATH=~/.local/bin/:$PATH make -C ../build-64/ ARCH=arm64 > qcom/sda660-inforce-ifc6560.dtb CHECK_DTBS=y > DT_SCHEMA_FILES=display/msm > > As you can see from the example below, when using 'compatible' I'm > getting warnings just for the gpu@5000000 node, while using $ref I > also got warnings for the dsi-phy@c996400 node (disabled in the DT > file). > For your reference the tree in question is uploaded to the: > https://git.linaro.org/people/dmitry.baryshkov/kernel.git msm-mdss-yaml I did not say anything about msm-mdss. I said you will get errors from child schema anyway. From schema: /home/krzk/dev/linux/linux/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml /home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb: dsi@c994000: clock-names: ['mdp_core', 'byte', 'byte_intf', 'mnoc', 'iface', 'bus', 'core_mmss', 'pixel', 'core'] is too long From schema: /home/krzk/dev/linux/linux/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml /home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dtb: dsi@c994000: 'vdda-supply' does not match any of the regexes: 'pinctrl-[0-9]+' If your child schema fails, the referencing schema fails as well... Best regards, Krzysztof