On Tue, Nov 12, 2024 at 01:36:51PM +0100, Niklas Cassel wrote: > On Mon, Nov 11, 2024 at 10:25:12AM -0600, Rob Herring wrote: > > > > > > > >I don't know the yaml too well, but it is not obvious how adding a few > > > >status = "disabled"; status = "okay"; fixes a "'anyOf' conditional failed". > > > > > > > >Maybe you can expand the explanation a bit? > > > > > > > > Andrew > > > > > > Hi angelo, > > > > > > I guess the dtbs_check only checks required properties from yaml if the node is enabled. > > > > Yes, that is exactly how it works. > > > > Rob > > Hello Rob, > > If we look at e.g. this binding: > Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml > > We can see that it does not define iommu-map in the binding, > likewise the binding does have: > unevaluatedProperties: false > > > If I apply my patch that adds iommu-map for e.g. the pcie2x1l0 node: > (the patch does not add anything to the binding above): > https://lore.kernel.org/linux-rockchip/20241107123732.1160063-2-cassel@xxxxxxxxxx/ > > > If look at the pcie2x1l0 node, it is marked as status = "disabled" > in arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi > > but is marked as status = "enabled" > in arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts > > If I run CHECK_DTBS for this dts/dtb: > $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make CHECK_DTBS=y rockchip/rk3588-rock-5b.dtb > DTC [C] arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dtb > $ > > No warnings. > > What am I missing? > > Considering the warning in this series where the binding also > had unevaluatedProperties: false > I would have expected the same error for the pcie2x1l0 node. > > (And if I look at most PCI controler bindings, they actually do define > iommu-map, so it seems a requirement for it to be defined if used.) > Or perhaps the question should have been, if iommu-map is an exception, why isn't iommus also an exception? Kind regards, Niklas