Re: [RFC v3 16/19] arch: um: make UML unflatten device tree when testing

From: Rob Herring
Date: Wed Nov 28 2018 - 16:16:51 EST


On Wed, Nov 28, 2018 at 1:38 PM Brendan Higgins
<brendanhiggins@xxxxxxxxxx> wrote:
>
> Make UML unflatten any present device trees when running KUnit tests.
>
> Signed-off-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx>
> ---
> arch/um/kernel/um_arch.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c
> index a818ccef30ca2..bd58ae3bf4148 100644
> --- a/arch/um/kernel/um_arch.c
> +++ b/arch/um/kernel/um_arch.c
> @@ -13,6 +13,7 @@
> #include <linux/sched.h>
> #include <linux/sched/task.h>
> #include <linux/kmsg_dump.h>
> +#include <linux/of_fdt.h>
>
> #include <asm/pgtable.h>
> #include <asm/processor.h>
> @@ -347,6 +348,9 @@ void __init setup_arch(char **cmdline_p)
> read_initrd();
>
> paging_init();
> +#if IS_ENABLED(CONFIG_OF_UNITTEST)
> + unflatten_device_tree();
> +#endif

Kind of strange to have this in the arch code. I'd rather have this in
the unittest code if possible. Can we have an initcall conditional on
CONFIG_UM in the unittest do this? Side note, use a C if with
IS_ENABLED() whenever possible instead of pre-processor #if.

I'll take a fix separately as it was on my todo to fix. I've got the
unit tests running in a gitlab CI job now[1].

Rob

[1] https://gitlab.com/robherring/linux-dt-unittest/pipelines