| #ifndef _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ | |
| #define _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ | |
| /* | |
| * Spinlock based version of ext2 atomic bitops | |
| */ | |
| #define ext2_set_bit_atomic(lock, nr, addr) \ | |
| ({ \ | |
| int ret; \ | |
| spin_lock(lock); \ | |
| ret = __test_and_set_bit_le(nr, addr); \ | |
| spin_unlock(lock); \ | |
| ret; \ | |
| }) | |
| #define ext2_clear_bit_atomic(lock, nr, addr) \ | |
| ({ \ | |
| int ret; \ | |
| spin_lock(lock); \ | |
| ret = __test_and_clear_bit_le(nr, addr); \ | |
| spin_unlock(lock); \ | |
| ret; \ | |
| }) | |
| #endif /* _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ */ |