Re: [PATCH v4 5/7] arm64: Unconditionally call unflatten_device_tree()

From: Oreoluwa Babatunde
Date: Tue Feb 27 2024 - 12:27:43 EST


On 2/16/2024 5:05 PM, 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.
> When ACPI is in use, unflatten_device_tree() ignores the
> 'initial_boot_params' pointer so the live DT on those systems won't be
> whatever that's pointing to. Similarly, when kexec copies the DT data
> the previous kernel to the new one on ACPI systems,
> of_kexec_alloc_and_setup_fdt() will ignore the live DT (the empty root
> one) and copy the 'initial_boot_params' data.
>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> Cc: Frank Rowand <frowand.list@xxxxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxx>

This change looks good to me. I am working on a patch set that will benefit from this.
Reviewed-by: Oreoluwa Babatunde <quic_obabatun@xxxxxxxxxxx>

Regards,
Oreoluwa

> ---
> 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 42c690bb2d60..0d210720d47d 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();