On Wed, 09 Oct 2024 13:41:31 -0700, Stephen Boyd wrote: > A root node is required to apply DT overlays. A root node is usually > present after commit 7b937cc243e5 ("of: Create of_root if no dtb > provided by firmware"), except for on arm64 systems booted with ACPI > tables. In that case, the root node is intentionally not populated > because it would "allow DT devices to be instantiated atop an ACPI base > system"[1]. > > Introduce an OF function that skips the kunit test if the root node > isn't populated. Limit the test to when both CONFIG_ARM64 and > CONFIG_ACPI are set, because otherwise the lack of a root node is a bug. > Make the function private and take a kunit test parameter so that it > can't be abused to test for the presence of the root node in non-test > code. > > Use this function to skip tests that require the root node. Currently > that's the DT tests and any tests that apply overlays. > > Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> > Closes: https://lore.kernel.org/r/6cd337fb-38f0-41cb-b942-5844b84433db@xxxxxxxxxxxx > Link: https://lore.kernel.org/r/Zd4dQpHO7em1ji67@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [1] > Fixes: 893ecc6d2d61 ("of: Add KUnit test to confirm DTB is loaded") > Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxx> > --- > drivers/of/of_kunit_helpers.c | 15 +++++++++++++++ > drivers/of/of_private.h | 3 +++ > drivers/of/of_test.c | 3 +++ > drivers/of/overlay_test.c | 3 +++ > 4 files changed, 24 insertions(+) > Applied, thanks!