The following commit has been merged in the linux branch: commit e9ac829185c5d17787d78c13c05a40c39d660239 Author: Johannes Weiner hannes@cmpxchg.org Date: Tue Jul 21 17:08:28 2009 +0200
ARM: boolean bit testing
Bit testing (test, testset, testclear, testchange) for bit numbers known at compile time returns a word with the tested-for bit set.
Change it to return a true boolean value so to make it consistent with the out-of-line path and all the other bitops implementations.
Signed-off-by: Johannes Weiner hannes@cmpxchg.org Signed-off-by: Russell King rmk+kernel@arm.linux.org.uk
diff --git a/arch/arm/include/asm/bitops.h b/arch/arm/include/asm/bitops.h index 63a481f..338ff19 100644 --- a/arch/arm/include/asm/bitops.h +++ b/arch/arm/include/asm/bitops.h @@ -84,7 +84,7 @@ ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p) *p = res | mask; raw_local_irq_restore(flags);
- return res & mask; + return (res & mask) != 0; }
static inline int @@ -101,7 +101,7 @@ ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p) *p = res & ~mask; raw_local_irq_restore(flags);
- return res & mask; + return (res & mask) != 0; }
static inline int @@ -118,7 +118,7 @@ ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p) *p = res ^ mask; raw_local_irq_restore(flags);
- return res & mask; + return (res & mask) != 0; }
#include <asm-generic/bitops/non-atomic.h>