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>
This commit is contained in:
parent
a7e926abc3
commit
8f4f202b33
1 changed files with 4 additions and 0 deletions
|
@ -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));
|
||||
|
|
Loading…
Reference in a new issue