@@ -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
@@ -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
@@ -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 @@ int tb_domain_init(void)
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();
}
@@ -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
@@ -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);
+}
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> --- drivers/thunderbolt/Kconfig | 2 +- drivers/thunderbolt/Makefile | 3 +-- drivers/thunderbolt/domain.c | 4 ++++ drivers/thunderbolt/tb.h | 8 ++++++++ drivers/thunderbolt/test.c | 13 ++++++++++++- 5 files changed, 26 insertions(+), 4 deletions(-)