brintos

brintos / linux-shallow public Read only

0
0
Text · 600 B · 0cfc318 Raw
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