Browse Source

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>
Johannes Weiner 16 years ago
parent
commit
e9ac829185
1 changed files with 3 additions and 3 deletions
  1. 3 3
      arch/arm/include/asm/bitops.h

+ 3 - 3
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;
 	*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)
 	*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)
 	*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>