1
0
Fork 0

thunderbolt: Allow KUnit tests to be built also when CONFIG_USB4=m

This adds a bit more build coverage for the tests even though these are
not expected to be enabled by normal users and distros. In order to make
this working we need to open-code kunit_test_suite() and call the
relevant functions directly in the driver init/exit hook.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
zero-sugar-mainline-defconfig
Mika Westerberg 2020-08-24 12:46:52 +03:00
parent 884e4d576f
commit 2c6ea4e2ce
5 changed files with 26 additions and 4 deletions

View File

@ -28,5 +28,5 @@ config USB4_DEBUGFS_WRITE
config USB4_KUNIT_TEST
bool "KUnit tests"
depends on USB4
depends on KUNIT=y
depends on USB4=y

View File

@ -6,5 +6,4 @@ thunderbolt-objs += nvm.o retimer.o quirks.o
thunderbolt-${CONFIG_ACPI} += acpi.o
thunderbolt-$(CONFIG_DEBUG_FS) += debugfs.o
obj-${CONFIG_USB4_KUNIT_TEST} += test.o
thunderbolt-${CONFIG_USB4_KUNIT_TEST} += test.o

View File

@ -827,6 +827,8 @@ int tb_domain_init(void)
{
int ret;
tb_test_init();
tb_debugfs_init();
ret = tb_xdomain_init();
if (ret)
@ -841,6 +843,7 @@ err_xdomain:
tb_xdomain_exit();
err_debugfs:
tb_debugfs_exit();
tb_test_exit();
return ret;
}
@ -852,4 +855,5 @@ void tb_domain_exit(void)
tb_nvm_exit();
tb_xdomain_exit();
tb_debugfs_exit();
tb_test_exit();
}

View File

@ -1030,4 +1030,12 @@ static inline void tb_switch_debugfs_init(struct tb_switch *sw) { }
static inline void tb_switch_debugfs_remove(struct tb_switch *sw) { }
#endif
#ifdef CONFIG_USB4_KUNIT_TEST
int tb_test_init(void);
void tb_test_exit(void);
#else
static inline int tb_test_init(void) { return 0; }
static inline void tb_test_exit(void) { }
#endif
#endif

View File

@ -1623,4 +1623,15 @@ static struct kunit_suite tb_test_suite = {
.name = "thunderbolt",
.test_cases = tb_test_cases,
};
kunit_test_suite(tb_test_suite);
static struct kunit_suite *tb_test_suites[] = { &tb_test_suite, NULL };
int tb_test_init(void)
{
return __kunit_test_suites_init(tb_test_suites);
}
void tb_test_exit(void)
{
return __kunit_test_suites_exit(tb_test_suites);
}