Quoting Rob Herring (2024-02-13 09:52:00) > On Fri, Feb 9, 2024 at 8:59 PM Stephen Boyd <sboyd@xxxxxxxxxx> wrote: > > > > ---8<--- > > diff --git a/init/main.c b/init/main.c > > index e24b0780fdff..02f5cf8be6c1 100644 > > --- a/init/main.c > > +++ b/init/main.c > > @@ -97,6 +97,8 @@ > > #include <linux/jump_label.h> > > #include <linux/kcsan.h> > > #include <linux/init_syscalls.h> > > +#include <linux/of.h> > > +#include <linux/of_fdt.h> > > #include <linux/stackdepot.h> > > #include <linux/randomize_kstack.h> > > #include <net/net_namespace.h> > > @@ -895,6 +897,8 @@ void start_kernel(void) > > pr_notice("%s", linux_banner); > > early_security_init(); > > setup_arch(&command_line); > > + if (!of_root) > > of_root is another thing I'd like to remove direct access to. That > check could be inside unflatten_device_tree(). Ok. > > > + unflatten_device_tree(); > > That's back to what Frank had essentially and I wanted to avoid. Alright, fair enough. > > I think I'd just disable the tests on the above arches and let them > opt-in. I could be convinced otherwise though. > Kunit folks would prefer to skip tests when dependencies aren't satisfied. The OF_UNITTEST config already depends on !SPARC so perhaps it's simplest to have tests skip if OF_EARLY_FLATREE=n. Then OF_EARLY_FLATREE can be def_bool OF && !(SPARC || M68K || other arches). The OF_UNITTEST config can depend on OF_EARLY_FLATREE instead of select it then. This way new supporting architectures can remove themselves from the def_bool line when they start calling unflatten_device_tree().