Re: [PATCH] of: Skip kunit tests when arm64+ACPI doesn't populate root node
From: Guenter Roeck
Date: Wed Oct 09 2024 - 23:40:23 EST
On Wed, Oct 09, 2024 at 01:41:31PM -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>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Guenter