diff options
author | Luca Barbieri <luca@luca-barbieri.com> | 2010-02-26 06:22:40 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-03-01 14:37:55 -0500 |
commit | 8f4f202b335144bf5be5c9e5b1bc9477ecdae958 (patch) | |
tree | a1bc2508079fe2312e87a8a29d8553f4985148d6 /lib/atomic64_test.c | |
parent | a7e926abc3adfbd2e5e20d2b46177adb4e313915 (diff) |
lib: Only test atomic64_dec_if_positive on archs having it
Currently atomic64_dec_if_positive() is only supported by PowerPC,
MIPS and x86-32.
Signed-off-by: Luca Barbieri <luca@luca-barbieri.com>
LKML-Reference: <1267183361-20775-1-git-send-email-luca@luca-barbieri.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'lib/atomic64_test.c')
-rw-r--r-- | lib/atomic64_test.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/atomic64_test.c b/lib/atomic64_test.c index 4ff649e46bad..0effcacbebda 100644 --- a/lib/atomic64_test.c +++ b/lib/atomic64_test.c | |||
@@ -112,6 +112,7 @@ static __init int test_atomic64(void) | |||
112 | r += one; | 112 | r += one; |
113 | BUG_ON(v.counter != r); | 113 | BUG_ON(v.counter != r); |
114 | 114 | ||
115 | #if defined(CONFIG_X86_32) || defined(CONFIG_MIPS) || defined(CONFIG_PPC) || defined(_ASM_GENERIC_ATOMIC64_H) | ||
115 | INIT(onestwos); | 116 | INIT(onestwos); |
116 | BUG_ON(atomic64_dec_if_positive(&v) != (onestwos - 1)); | 117 | BUG_ON(atomic64_dec_if_positive(&v) != (onestwos - 1)); |
117 | r -= one; | 118 | r -= one; |
@@ -124,6 +125,9 @@ static __init int test_atomic64(void) | |||
124 | INIT(-one); | 125 | INIT(-one); |
125 | BUG_ON(atomic64_dec_if_positive(&v) != (-one - one)); | 126 | BUG_ON(atomic64_dec_if_positive(&v) != (-one - one)); |
126 | BUG_ON(v.counter != r); | 127 | BUG_ON(v.counter != r); |
128 | #else | ||
129 | #warning Please implement atomic64_dec_if_positive for your architecture, and add it to the IF above | ||
130 | #endif | ||
127 | 131 | ||
128 | INIT(onestwos); | 132 | INIT(onestwos); |
129 | BUG_ON(atomic64_inc_not_zero(&v)); | 133 | BUG_ON(atomic64_inc_not_zero(&v)); |