diff options
author | Johannes Weiner <hannes@cmpxchg.org> | 2009-07-21 11:08:28 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-10-11 11:25:06 -0400 |
commit | e9ac829185c5d17787d78c13c05a40c39d660239 (patch) | |
tree | 295822fefaf2370c9f4ef155dba1d6f225b93b89 /arch/arm/include/asm/bitops.h | |
parent | 03a6e5bd5ba7d2a37b0bf4327b83d7c83311b0a1 (diff) |
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>
Diffstat (limited to 'arch/arm/include/asm/bitops.h')
-rw-r--r-- | arch/arm/include/asm/bitops.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/include/asm/bitops.h b/arch/arm/include/asm/bitops.h index 63a481fbbed4..338ff19ae447 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) | |||
84 | *p = res | mask; | 84 | *p = res | mask; |
85 | raw_local_irq_restore(flags); | 85 | raw_local_irq_restore(flags); |
86 | 86 | ||
87 | return res & mask; | 87 | return (res & mask) != 0; |
88 | } | 88 | } |
89 | 89 | ||
90 | static inline int | 90 | static inline int |
@@ -101,7 +101,7 @@ ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p) | |||
101 | *p = res & ~mask; | 101 | *p = res & ~mask; |
102 | raw_local_irq_restore(flags); | 102 | raw_local_irq_restore(flags); |
103 | 103 | ||
104 | return res & mask; | 104 | return (res & mask) != 0; |
105 | } | 105 | } |
106 | 106 | ||
107 | static inline int | 107 | static inline int |
@@ -118,7 +118,7 @@ ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p) | |||
118 | *p = res ^ mask; | 118 | *p = res ^ mask; |
119 | raw_local_irq_restore(flags); | 119 | raw_local_irq_restore(flags); |
120 | 120 | ||
121 | return res & mask; | 121 | return (res & mask) != 0; |
122 | } | 122 | } |
123 | 123 | ||
124 | #include <asm-generic/bitops/non-atomic.h> | 124 | #include <asm-generic/bitops/non-atomic.h> |