linux/include/asm-generic/bitops/ext2-atomic.h
<<
>>
Prefs
   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