patch-1.3.75 linux/include/asm-i386/bitops.h

Next file: linux/include/asm-i386/smp.h
Previous file: linux/fs/nfs/nfsroot.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.74/linux/include/asm-i386/bitops.h linux/include/asm-i386/bitops.h
@@ -15,8 +15,10 @@
 
 #ifdef __SMP__
 #define LOCK_PREFIX "lock ; "
+#define SMPVOL volatile
 #else
 #define LOCK_PREFIX ""
+#define SMPVOL
 #endif
 
 /*
@@ -26,7 +28,7 @@
 #define ADDR (*(struct __dummy *) addr)
 #define CONST_ADDR (*(const struct __dummy *) addr)
 
-extern __inline__ int set_bit(int nr, void * addr)
+extern __inline__ int set_bit(int nr, SMPVOL void * addr)
 {
 	int oldbit;
 
@@ -37,7 +39,7 @@
 	return oldbit;
 }
 
-extern __inline__ int clear_bit(int nr, void * addr)
+extern __inline__ int clear_bit(int nr, SMPVOL void * addr)
 {
 	int oldbit;
 
@@ -48,7 +50,7 @@
 	return oldbit;
 }
 
-extern __inline__ int change_bit(int nr, void * addr)
+extern __inline__ int change_bit(int nr, SMPVOL void * addr)
 {
 	int oldbit;
 
@@ -62,7 +64,7 @@
 /*
  * This routine doesn't need to be atomic.
  */
-extern __inline__ int test_bit(int nr, const void * addr)
+extern __inline__ int test_bit(int nr, const SMPVOL void * addr)
 {
 	return 1UL & (((const unsigned int *) addr)[nr >> 5] >> (nr & 31));
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this