On Wed, 01 Dec 2021 20:30:21 -0600, Rob Herring wrote: > The if/then schema for 'data-lanes' doesn't work as 'compatible' is at a > different level than 'data-lanes'. To make it work, the if/then schema > would have to be moved to the top level and then whole hierarchy of > nodes down to 'data-lanes' created. I don't think it is worth the > complexity to do that, so let's just drop it. > > The error in this schema is masked by a fixup in the tools causing the > 'allOf' to get overwritten. Removing the fixup as part of moving to > json-schema draft 2019-09 revealed the issue: > > Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.example.dt.yaml: mipi-csi@30750000: ports:port@0:endpoint:data-lanes:0: [1] is too short > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml > Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.example.dt.yaml: mipi-csi@32e30000: ports:port@0:endpoint:data-lanes:0: [1, 2, 3, 4] is too long > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml > > The if condition was always true because 'compatible' did not exist in > 'endpoint' node and a non-existent property is true for json-schema. > > Fixes: 85b62ff2cb97 ("media: dt-bindings: media: nxp,imx7-mipi-csi2: Add i.MX8MM support") > Cc: Rui Miguel Silva <rmfrfs@xxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > Cc: Shawn Guo <shawnguo@xxxxxxxxxx> > Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > Cc: Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx> > Cc: Fabio Estevam <festevam@xxxxxxxxx> > Cc: NXP Linux Team <linux-imx@xxxxxxx> > Cc: linux-media@xxxxxxxxxxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > --- > .../bindings/media/nxp,imx7-mipi-csi2.yaml | 12 ------------ > 1 file changed, 12 deletions(-) > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/patch/1562521 mipi-csi@30750000: '#address-cells', '#size-cells', 'fsl,csis-hs-settle', 'port@0', 'port@1', 'reset-names' do not match any of the regexes: 'pinctrl-[0-9]+' arch/arm/boot/dts/imx7s-warp.dt.yaml mipi-csi@30750000: '#address-cells', '#size-cells', 'port@0', 'port@1', 'reset-names' do not match any of the regexes: 'pinctrl-[0-9]+' arch/arm/boot/dts/imx7d-cl-som-imx7.dt.yaml arch/arm/boot/dts/imx7d-colibri-aster.dt.yaml arch/arm/boot/dts/imx7d-colibri-emmc-aster.dt.yaml arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dt.yaml arch/arm/boot/dts/imx7d-colibri-eval-v3.dt.yaml arch/arm/boot/dts/imx7d-flex-concentrator.dt.yaml arch/arm/boot/dts/imx7d-flex-concentrator-mfg.dt.yaml arch/arm/boot/dts/imx7d-mba7.dt.yaml arch/arm/boot/dts/imx7d-meerkat96.dt.yaml arch/arm/boot/dts/imx7d-nitrogen7.dt.yaml arch/arm/boot/dts/imx7d-pico-dwarf.dt.yaml arch/arm/boot/dts/imx7d-pico-hobbit.dt.yaml arch/arm/boot/dts/imx7d-pico-nymph.dt.yaml arch/arm/boot/dts/imx7d-pico-pi.dt.yaml arch/arm/boot/dts/imx7d-remarkable2.dt.yaml arch/arm/boot/dts/imx7d-sbc-imx7.dt.yaml arch/arm/boot/dts/imx7d-sdb.dt.yaml arch/arm/boot/dts/imx7d-sdb-reva.dt.yaml arch/arm/boot/dts/imx7d-sdb-sht11.dt.yaml arch/arm/boot/dts/imx7d-zii-rmu2.dt.yaml arch/arm/boot/dts/imx7d-zii-rpu2.dt.yaml arch/arm/boot/dts/imx7s-colibri-aster.dt.yaml arch/arm/boot/dts/imx7s-colibri-eval-v3.dt.yaml arch/arm/boot/dts/imx7s-mba7.dt.yaml mipi-csi@30750000: 'ports' is a required property arch/arm/boot/dts/imx7s-warp.dt.yaml