28 lines · c
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 bitops7 */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