Re: [PATCH v2] of: WARN on deprecated #address-cells/#size-cells handling
From: Steven Price <steven.price@arm.com>
Date: 2024-11-08 13:26:27
Also in:
linux-devicetree, linux-samsung-soc, lkml
On 08/11/2024 11:04, Marek Szyprowski wrote:
Hi Rob, On 06.11.2024 18:10, Rob Herring (Arm) wrote:quoted
While OpenFirmware originally allowed walking parent nodes and default root values for #address-cells and #size-cells, FDT has long required explicit values. It's been a warning in dtc for the root node since the beginning (2005) and for any parent node since 2007. Of course, not all FDT uses dtc, but that should be the majority by far. The various extracted OF devicetrees I have dating back to the 1990s (various PowerMac, OLPC, PASemi Nemo) all have explicit root node properties. The warning is disabled for Sparc as there are known systems relying on default root node values. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> --- v2: - Add a define for excluded platforms to help clarify the intent is to have an exclude list and make adding platforms easier. - Also warn when walking parent nodes. --- drivers/of/base.c | 28 ++++++++++++++++++++++------ drivers/of/fdt.c | 4 ++-- 2 files changed, 24 insertions(+), 8 deletions(-)This patch landed in today's linux-next as commit 4b28a0dec185 ("of: WARN on deprecated #address-cells/#size-cells handling"). In my tests I found that it introduces warnings on almost all of my test systems. I took a look at the first one I got in my logs (Samsung Exynos Rinato board: arch/arm/boot/dts/samsung/exynos3250-rinato.dts):
Just a "me too" for rk3288-firefly.dtb: [ 0.138735] WARNING: CPU: 0 PID: 1 at drivers/of/base.c:106 of_bus_n_addr_cells+0x9c/0xd8 [ 0.138776] Missing '#address-cells' in /power-management@ff730000 I'm sure it's easy to fix up the DTB, but we shouldn't be breaking long existing DTBs. Steve