lkml.org 
[lkml]   [2003]   [Apr]   [10]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateThu, 10 Apr 2003 09:21:55 +0200
FromCarl-Daniel Hailfinger <>
Subject[PATCH] include/asm-generic/bitops.h {set,clear}_bit return void
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