![]() | |||||||||||||
Messages in this thread Patch in this message |
Linus,
{set,clear}_bit for all arches no longer return int, but void.
This patch adjusts the generic implementation accordingly.
Regards,
Carl-Daniel
--
Linux scales to much more than 64 CPUs!
See include/linux/smp.h:64
#define MSG_ALL_BUT_SELF 0x8000 /* Assume <32768 CPU's */===== include/asm-generic/bitops.h 1.2 vs edited =====
--- 1.2/include/asm-generic/bitops.h Fri May 3 02:08:35 2002
+++ edited/include/asm-generic/bitops.h Thu Apr 10 09:12:41 2003
@@ -16,7 +16,31 @@
* C language equivalents written by Theodore Ts'o, 9/26/92
*/
-extern __inline__ int set_bit(int nr,long * addr)
+extern __inline__ void set_bit(int nr,long * addr)
+{
+ int mask;
+
+ addr += nr >> 5;
+ mask = 1 << (nr & 0x1f);
+ cli();
+ *addr |= mask;
+ sti();
+ return;
+}
+
+extern __inline__ void clear_bit(int nr, long * addr)
+{
+ int mask;
+
+ addr += nr >> 5;
+ mask = 1 << (nr & 0x1f);
+ cli();
+ *addr &= ~mask;
+ sti();
+ return;
+}
+
+extern __inline__ int test_and_set_bit(int nr,long * addr)
{
int mask, retval;
@@ -29,7 +53,7 @@
return retval;
}
-extern __inline__ int clear_bit(int nr, long * addr)
+extern __inline__ int test_and_clear_bit(int nr, long * addr)
{
int mask, retval;
| ||||||||||||
| Last update: 2005-03-22 12:34 [W:0.174 / U:0.030 seconds] ©2003-2008 Jasper Spaans | |||||||||||||