include/asm-sh/bitops.h |   38 ++++++++++++++++++--------------------
 1 files changed, 18 insertions(+), 20 deletions(-)

diff -puN include/asm-sh/bitops.h~ext2-no-lock_super-fix-7 include/asm-sh/bitops.h
--- 25/include/asm-sh/bitops.h~ext2-no-lock_super-fix-7	2003-03-13 23:52:51.000000000 -0800
+++ 25-akpm/include/asm-sh/bitops.h	2003-03-13 23:53:14.000000000 -0800
@@ -265,16 +265,6 @@ static __inline__ int ext2_set_bit(int n
 	return retval;
 }
 
-static inline int ext2_set_bit_atomic(spinlock_t *lock,
-		int nr, volatile void * addr)
-{
-	int ret;
-	spin_lock(lock);
-	ret = ext2_set_bit(nr, addr);
-	spin_unlock(lock);
-	return ret;
-}
-
 static __inline__ int ext2_clear_bit(int nr, volatile void * addr)
 {
 	int		mask, retval;
@@ -290,16 +280,6 @@ static __inline__ int ext2_clear_bit(int
 	return retval;
 }
 
-static inline int ext2_clear_bit_atomic(spinlock_t *lock,
-                int nr, volatile void * addr)
-{       
-        int ret;
-        spin_lock(lock);
-        ret = ext2_clear_bit(nr, addr);
-        spin_unlock(lock);
-        return ret;
-}       
-
 static __inline__ int ext2_test_bit(int nr, const volatile void * addr)
 {
 	int			mask;
@@ -364,6 +344,24 @@ found_middle:
 }
 #endif
 
+#define ext2_set_bit_atomic(lock, nr, addr)		\
+	({						\
+		int ret;				\
+		spin_lock(lock);			\
+		ret = ext2_set_bit((nr), (addr));	\
+		spin_unlock(lock);			\
+		ret;					\
+	})
+
+#define ext2_clear_bit_atomic(lock, nr, addr)		\
+	({						\
+		int ret;				\
+		spin_lock(lock);			\
+		ret = ext2_clear_bit((nr), (addr));	\
+		spin_unlock(lock);			\
+		ret;					\
+	})
+
 /* Bitmap functions for the minix filesystem.  */
 #define minix_test_and_set_bit(nr,addr) test_and_set_bit(nr,addr)
 #define minix_set_bit(nr,addr) set_bit(nr,addr)

_