linux/tools/include/asm-generic/bitops/atomic.h
<<
>>
Prefs
   1#ifndef _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_
   2#define _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_
   3
   4#include <asm/types.h>
   5
   6static inline void set_bit(int nr, unsigned long *addr)
   7{
   8        addr[nr / __BITS_PER_LONG] |= 1UL << (nr % __BITS_PER_LONG);
   9}
  10
  11static inline void clear_bit(int nr, unsigned long *addr)
  12{
  13        addr[nr / __BITS_PER_LONG] &= ~(1UL << (nr % __BITS_PER_LONG));
  14}
  15
  16static __always_inline int test_bit(unsigned int nr, const unsigned long *addr)
  17{
  18        return ((1UL << (nr % __BITS_PER_LONG)) &
  19                (((unsigned long *)addr)[nr / __BITS_PER_LONG])) != 0;
  20}
  21
  22#endif /* _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ */
  23