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 */
[
linux_bitops.diff < 1K ]
===== include/asm-generic/bitops.h 1.2 vs edited =====
--- 1.2/include/asm-generic/bitops.h Fri May 3 02:08:35 2002
* 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;
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;