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) _