Commit 2c6ea4e2 authored by Mika Westerberg's avatar Mika Westerberg
Browse files

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: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
parent 884e4d57
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −2
Original line number Diff line number Diff line
@@ -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
+4 −0
Original line number Diff line number Diff line
@@ -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();
}
+8 −0
Original line number Diff line number Diff line
@@ -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
+12 −1
Original line number Diff line number Diff line
@@ -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);
}