[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240217010557.2381548-4-sboyd@kernel.org>
Date: Fri, 16 Feb 2024 17:05:52 -0800
From: Stephen Boyd <sboyd@...nel.org>
To: Rob Herring <robh+dt@...nel.org>
Cc: linux-kernel@...r.kernel.org,
patches@...ts.linux.dev,
linux-um@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org,
kunit-dev@...glegroups.com,
linux-kselftest@...r.kernel.org,
devicetree@...r.kernel.org,
Frank Rowand <frowand.list@...il.com>,
Richard Weinberger <richard@....at>,
Anton Ivanov <anton.ivanov@...bridgegreys.com>,
Johannes Berg <johannes@...solutions.net>
Subject: [PATCH v4 3/7] um: Unconditionally call unflatten_device_tree()
Call this function unconditionally so that we can populate an empty DTB
on platforms that don't boot with a command line provided 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.
Cc: Rob Herring <robh+dt@...nel.org>
Cc: Frank Rowand <frowand.list@...il.com>
Cc: Richard Weinberger <richard@....at>
Cc: Anton Ivanov <anton.ivanov@...bridgegreys.com>
Cc: Johannes Berg <johannes@...solutions.net>
Cc: <linux-um@...ts.infradead.org>
Signed-off-by: Stephen Boyd <sboyd@...nel.org>
---
arch/um/kernel/dtb.c | 14 +++++++-------
drivers/of/unittest.c | 4 ----
2 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/arch/um/kernel/dtb.c b/arch/um/kernel/dtb.c
index 484141b06938..4954188a6a09 100644
--- a/arch/um/kernel/dtb.c
+++ b/arch/um/kernel/dtb.c
@@ -16,16 +16,16 @@ void uml_dtb_init(void)
void *area;
area = uml_load_file(dtb, &size);
- if (!area)
- return;
+ if (area) {
+ if (!early_init_dt_scan(area)) {
+ pr_err("invalid DTB %s\n", dtb);
+ memblock_free(area, size);
+ return;
+ }
- if (!early_init_dt_scan(area)) {
- pr_err("invalid DTB %s\n", dtb);
- memblock_free(area, size);
- return;
+ early_init_fdt_scan_reserved_mem();
}
- early_init_fdt_scan_reserved_mem();
unflatten_device_tree();
}
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index cfd60e35a899..891752a20a5f 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -4087,10 +4087,6 @@ static int __init of_unittest(void)
add_taint(TAINT_TEST, LOCKDEP_STILL_OK);
/* adding data for unittest */
-
- if (IS_ENABLED(CONFIG_UML))
- unittest_unflatten_overlay_base();
-
res = unittest_data_add();
if (res)
return res;
--
https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git/
https://git.kernel.org/pub/scm/linux/kernel/git/sboyd/spmi.git
Powered by blists - more mailing lists