Linux 4.14.5
[linux/fpc-iii.git] / include / asm-generic / bitops / ext2-atomic.h
blob0cfc3180b0746d93fbaa5277f1022acfdc9c5e29
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_
3 #define _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_
5 /*
6 * Spinlock based version of ext2 atomic bitops
7 */
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; \
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; \
27 #endif /* _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ */