提交 e9ac8291 编写于 作者: J Johannes Weiner 提交者: Russell King

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: NJohannes Weiner <hannes@cmpxchg.org>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 03a6e5bd
...@@ -84,7 +84,7 @@ ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p) ...@@ -84,7 +84,7 @@ ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p)
*p = res | mask; *p = res | mask;
raw_local_irq_restore(flags); raw_local_irq_restore(flags);
return res & mask; return (res & mask) != 0;
} }
static inline int static inline int
...@@ -101,7 +101,7 @@ ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p) ...@@ -101,7 +101,7 @@ ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p)
*p = res & ~mask; *p = res & ~mask;
raw_local_irq_restore(flags); raw_local_irq_restore(flags);
return res & mask; return (res & mask) != 0;
} }
static inline int static inline int
...@@ -118,7 +118,7 @@ ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p) ...@@ -118,7 +118,7 @@ ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p)
*p = res ^ mask; *p = res ^ mask;
raw_local_irq_restore(flags); raw_local_irq_restore(flags);
return res & mask; return (res & mask) != 0;
} }
#include <asm-generic/bitops/non-atomic.h> #include <asm-generic/bitops/non-atomic.h>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册