Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f4f202b authored by Luca Barbieri's avatar Luca Barbieri Committed by H. Peter Anvin
Browse files

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: default avatarLuca Barbieri <luca@luca-barbieri.com>
LKML-Reference: <1267183361-20775-1-git-send-email-luca@luca-barbieri.com>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent a7e926ab
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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));