On 11/09/2022 20:32, Krzysztof Kozlowski wrote: > 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... Although now with DSI-PHY I cannot reproduce it and I am pretty sure I reproduced it with DPU controllers after modifying the DTS to lack a property... Hmmm Best regards, Krzysztof