Re: [PATCH v1 1/3] arm64: dts: marvell: Fix anyOf conditional failed
From: Niklas Cassel <cassel@kernel.org>
Date: 2024-11-12 12:46:13
Also in:
linux-arm-kernel, linux-ide, lkml
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:quoted
quoted
quoted
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? AndrewHi angelo, I guess the dtbs_check only checks required properties from yaml if the node is enabled.Yes, that is exactly how it works. RobHello 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@kernel.org/ (local) 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