linux-mips
[Top] [All Lists]

Re: [PATCH]: test_bit returns int in all the architectures

To: Juan Quintela <quintela@mandrakesoft.com>
Subject: Re: [PATCH]: test_bit returns int in all the architectures
From: Ralf Baechle <ralf@linux-mips.org>
Date: Fri, 20 Dec 2002 13:59:55 +0100
Cc: mipslist <linux-mips@linux-mips.org>
In-reply-to: <m2fzstgffx.fsf@demo.mitica>; from quintela@mandrakesoft.com on Fri, Dec 20, 2002 at 11:20:02AM +0100
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <m2fzstgffx.fsf@demo.mitica>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.2.5.1i
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));
 }
 
 /*

<Prev in Thread] Current Thread [Next in Thread>