On Tue, 19 Nov 2019, Stephen Boyd wrote: > Quoting Alan Maguire (2019-11-15 02:16:11) > > diff --git a/lib/kunit/test.c b/lib/kunit/test.c > > index 87b5cf1..41ef71a 100644 > > --- a/lib/kunit/test.c > > +++ b/lib/kunit/test.c > > @@ -486,3 +486,16 @@ void kunit_cleanup(struct kunit *test) > > } > > } > > EXPORT_SYMBOL_GPL(kunit_cleanup); > > + > > +static int kunit_init(void) > > Missing __init? > Oops, will fix. > > +{ > > + return 0; > > +} > > +late_initcall(kunit_init); > > It looks pretty weird that this doesn't do anything in the module init > or exit path. How does it work? And why does it need to be late init if > nothing is called from here? > I used a late_initcall() here because if there is initialization code in the future (say setting up debugfs, sysctl tables etc), it will get run irrespective of whether kunit is built as a module or not. For the module case, we need init/exit to ensure the module can be unloaded successfully. > > + > > +static void __exit kunit_exit(void) > > +{ > > +} > > +module_exit(kunit_exit); > > + > > +MODULE_LICENSE("GPL"); > > I guess should be "GPL v2"? > Good catch, will fix here and elsewhere, thanks! BTW in replying to your review of patch 1 I made a mistake; we do in fact need to add the "#include <linux/kernel.h>" in assert.h as we are removing the "#include <kunit/string-stream.h>". The latter indirectly includes linux/kernel.h which allows us to find definition for "struct va_format" used in the struct kunit_assert definition. Apologies about this. I'll have a go at generating v5 using -C as requested. Thanks again for the careful review! Alan