#include <linux/compiler.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched/signal.h>
#include <linux/slab.h>
#include "selftest.h"
enum { … };
#define selftest …
static struct selftest { … } selftests[] = …;
#undef selftest
#define param(n) …
#define selftest_0(n, func, id) …
#define selftest …
#include "selftests.h"
#undef selftest
int __sanitycheck__(void)
{ … }
static char *__st_filter;
static bool apply_subtest_filter(const char *caller, const char *name)
{ … }
int
__subtests(const char *caller, const struct subtest *st, int count, void *data)
{ … }
static void set_default_test_all(struct selftest *st, unsigned long count)
{ … }
static int run_selftests(struct selftest *st, unsigned long count)
{ … }
static int __init st_init(void)
{ … }
static void __exit st_exit(void)
{ … }
module_param_named(st_filter, __st_filter, charp, 0400);
module_init(…) …;
module_exit(st_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;