Message ID | 20181128193636.254378-17-brendanhiggins@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kunit: introduce KUnit, the Linux kernel unit testing framework | expand |
On Wed, Nov 28, 2018 at 1:38 PM Brendan Higgins <brendanhiggins@google.com> wrote: > > Make UML unflatten any present device trees when running KUnit tests. > > Signed-off-by: Brendan Higgins <brendanhiggins@google.com> > --- > 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
On Wed, Nov 28, 2018 at 11:36:33AM -0800, Brendan Higgins wrote: > Make UML unflatten any present device trees when running KUnit tests. > > Signed-off-by: Brendan Higgins <brendanhiggins@google.com> > --- > 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 *Why?* Luis
On Wed, Nov 28, 2018 at 1:16 PM Rob Herring <robh@kernel.org> wrote: > > On Wed, Nov 28, 2018 at 1:38 PM Brendan Higgins > <brendanhiggins@google.com> wrote: > > 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 > > +#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. Yeah, that makes more sense. I will send a separate patch. > > 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
On Thu, Nov 29, 2018 at 7:46 PM Luis Chamberlain <mcgrof@kernel.org> wrote: > > On Wed, Nov 28, 2018 at 11:36:33AM -0800, Brendan Higgins wrote: > > Make UML unflatten any present device trees when running KUnit tests. > > > > Signed-off-by: Brendan Higgins <brendanhiggins@google.com> > > --- > > 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 > > *Why?* Whoops, I didn't realize how bad that looked. In anycase, doing what Rob suggested as a separate patch should clear this up.
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 strlcpy(boot_command_line, command_line, COMMAND_LINE_SIZE); *cmdline_p = command_line; setup_hostinfo(host_info, sizeof host_info);
Make UML unflatten any present device trees when running KUnit tests. Signed-off-by: Brendan Higgins <brendanhiggins@google.com> --- arch/um/kernel/um_arch.c | 4 ++++ 1 file changed, 4 insertions(+)