mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
lib: add module support to atomic64 tests
Allow to compile the atomic64 test code either to a loadable module, or builtin into the kernel. Link: http://lkml.kernel.org/r/1483470276-10517-3-git-send-email-geert@linux-m68k.org Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
ba95b045e9
commit
55ded9551f
@ -1790,9 +1790,10 @@ config PERCPU_TEST
|
|||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
config ATOMIC64_SELFTEST
|
config ATOMIC64_SELFTEST
|
||||||
bool "Perform an atomic64_t self-test at boot"
|
tristate "Perform an atomic64_t self-test"
|
||||||
help
|
help
|
||||||
Enable this option to test the atomic64_t functions at boot.
|
Enable this option to test the atomic64_t functions at boot or
|
||||||
|
at module load time.
|
||||||
|
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
#include <linux/bug.h>
|
#include <linux/bug.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/atomic.h>
|
#include <linux/atomic.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
#ifdef CONFIG_X86
|
#ifdef CONFIG_X86
|
||||||
#include <asm/cpufeature.h> /* for boot_cpu_has below */
|
#include <asm/cpufeature.h> /* for boot_cpu_has below */
|
||||||
@ -241,7 +242,7 @@ static __init void test_atomic64(void)
|
|||||||
BUG_ON(v.counter != r);
|
BUG_ON(v.counter != r);
|
||||||
}
|
}
|
||||||
|
|
||||||
static __init int test_atomics(void)
|
static __init int test_atomics_init(void)
|
||||||
{
|
{
|
||||||
test_atomic();
|
test_atomic();
|
||||||
test_atomic64();
|
test_atomic64();
|
||||||
@ -264,4 +265,9 @@ static __init int test_atomics(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
core_initcall(test_atomics);
|
static __exit void test_atomics_exit(void) {}
|
||||||
|
|
||||||
|
module_init(test_atomics_init);
|
||||||
|
module_exit(test_atomics_exit);
|
||||||
|
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
Loading…
Reference in New Issue
Block a user