[PATCH 1/6] arm64: Unconditionally call unflatten_device_tree()

Rob Herring robh at kernel.org
Mon Jan 15 09:57:20 PST 2024


On Fri, Jan 12, 2024 at 12:07:44PM -0800, Stephen Boyd wrote:
> Call this function unconditionally so that we can populate an empty DTB
> on platforms that don't boot with a firmware provided or builtin DTB.
> There's no harm in calling unflatten_device_tree() unconditionally. If
> there isn't a valid initial_boot_params dtb then unflatten_device_tree()
> returns early.

There's always a valid DTB because that's the boot params even for ACPI 
systems. This does also create a userspace visible change that 
/proc/device-tree will be populated. I don't see an issue with that.

There was worry when ACPI was added that systems would pass both DT and 
ACPI tables and that the kernel must only use ACPI. That was more to 
force ACPI adoption, but I'm not sure if that actually exists in any 
early system. I think we're past forcing adoption now.

> Cc: Rob Herring <robh+dt at kernel.org>
> Cc: Frank Rowand <frowand.list at gmail.com>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will at kernel.org>
> Cc: <linux-arm-kernel at lists.infradead.org>
> Signed-off-by: Stephen Boyd <sboyd at kernel.org>
> ---
>  arch/arm64/kernel/setup.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
> index 417a8a86b2db..ede3d59dabf0 100644
> --- a/arch/arm64/kernel/setup.c
> +++ b/arch/arm64/kernel/setup.c
> @@ -351,8 +351,7 @@ void __init __no_sanitize_address setup_arch(char **cmdline_p)
>  	/* Parse the ACPI tables for possible boot-time configuration */
>  	acpi_boot_table_init();
>  
> -	if (acpi_disabled)
> -		unflatten_device_tree();
> +	unflatten_device_tree();
>  
>  	bootmem_init();
>  
> -- 
> https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git/
> https://git.kernel.org/pub/scm/linux/kernel/git/sboyd/spmi.git
> 



More information about the linux-arm-kernel mailing list