summaryrefslogtreecommitdiff
path: root/lib/atomic64_test.c
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-02-26 12:22:40 +0100
committerH. Peter Anvin <hpa@zytor.com>2010-03-01 11:37:55 -0800
commit8f4f202b335144bf5be5c9e5b1bc9477ecdae958 (patch)
treea1bc2508079fe2312e87a8a29d8553f4985148d6 /lib/atomic64_test.c
parenta7e926abc3adfbd2e5e20d2b46177adb4e313915 (diff)
downloadlwn-8f4f202b335144bf5be5c9e5b1bc9477ecdae958.tar.gz
lwn-8f4f202b335144bf5be5c9e5b1bc9477ecdae958.zip
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.c4
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)
r += one;
BUG_ON(v.counter != r);
+#if defined(CONFIG_X86_32) || defined(CONFIG_MIPS) || defined(CONFIG_PPC) || defined(_ASM_GENERIC_ATOMIC64_H)
INIT(onestwos);
BUG_ON(atomic64_dec_if_positive(&v) != (onestwos - 1));
r -= one;
@@ -124,6 +125,9 @@ static __init int test_atomic64(void)
INIT(-one);
BUG_ON(atomic64_dec_if_positive(&v) != (-one - one));
BUG_ON(v.counter != r);
+#else
+#warning Please implement atomic64_dec_if_positive for your architecture, and add it to the IF above
+#endif
INIT(onestwos);
BUG_ON(atomic64_inc_not_zero(&v));