On Fri, Dec 20, 2002 at 11:20:02AM +0100, Juan Quintela wrote: > to be consistent with everybody else, test_bit should return a > int. Notice that it only returns 0/1, not a big deal. I'm using below patch instead. Ralf Index: include/asm-mips/bitops.h =================================================================== RCS file: /home/cvs/linux/include/asm-mips/bitops.h,v retrieving revision 1.21.2.9 diff -u -r1.21.2.9 bitops.h --- include/asm-mips/bitops.h 5 Dec 2002 03:25:20 -0000 1.21.2.9 +++ include/asm-mips/bitops.h 20 Dec 2002 12:54:10 -0000 @@ -582,9 +582,9 @@ * @nr: bit number to test * @addr: Address to start counting from */ -static __inline__ int test_bit(int nr, volatile void *addr) +static inline int test_bit(int nr, volatile void *addr) { - return ((1UL << (nr & 31)) & (((const unsigned int *) addr)[nr >> 5])) != 0; + return 1UL & (((const volatile unsigned long *) addr)[nr >> SZLONG_LOG] >> (nr & SZLONG_MASK)); } /* Index: include/asm-mips64/bitops.h =================================================================== RCS file: /home/cvs/linux/include/asm-mips64/bitops.h,v retrieving revision 1.15.2.10 diff -u -r1.15.2.10 bitops.h --- include/asm-mips64/bitops.h 5 Dec 2002 03:25:20 -0000 1.15.2.10 +++ include/asm-mips64/bitops.h 20 Dec 2002 12:54:12 -0000 @@ -302,9 +302,9 @@ * @nr: bit number to test * @addr: Address to start counting from */ -static inline unsigned long test_bit(int nr, volatile void * addr) +static inline int test_bit(int nr, volatile void * addr) { - return 1UL & (((volatile unsigned long *) addr)[nr >> 6] >> (nr & 0x3f)); + return 1UL & (((const volatile unsigned long *) addr)[nr >> SZLONG_LOG] >> (nr & SZLONG_MASK)); } /*