1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ 3 #define _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ 4 5 /* 6 * Spinlock based version of ext2 atomic bitops 7 */ 8 9 #define ext2_set_bit_atomic(lock, nr, addr) \ 10 ({ \ 11 int ret; \ 12 spin_lock(lock); \ 13 ret = __test_and_set_bit_le(nr, addr); \ 14 spin_unlock(lock); \ 15 ret; \ 16 }) 17 18 #define ext2_clear_bit_atomic(lock, nr, addr) \ 19 ({ \ 20 int ret; \ 21 spin_lock(lock); \ 22 ret = __test_and_clear_bit_le(nr, addr); \ 23 spin_unlock(lock); \ 24 ret; \ 25 }) 26 27 #endif /* _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ */ 28