| /* SPDX-License-Identifier: GPL-2.0 */ |
| #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_ */ |