mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-31 22:34:33 +01:00
To match the Linux kernel source code structure from where this code came from. Cc: Adrian Hunter <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: David Ahern <[email protected]> Cc: Don Zickus <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Mike Galbraith <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
23 lines
616 B
C
23 lines
616 B
C
#ifndef _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_
|
|
#define _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_
|
|
|
|
#include <asm/types.h>
|
|
|
|
static inline void set_bit(int nr, unsigned long *addr)
|
|
{
|
|
addr[nr / __BITS_PER_LONG] |= 1UL << (nr % __BITS_PER_LONG);
|
|
}
|
|
|
|
static inline void clear_bit(int nr, unsigned long *addr)
|
|
{
|
|
addr[nr / __BITS_PER_LONG] &= ~(1UL << (nr % __BITS_PER_LONG));
|
|
}
|
|
|
|
static __always_inline int test_bit(unsigned int nr, const unsigned long *addr)
|
|
{
|
|
return ((1UL << (nr % __BITS_PER_LONG)) &
|
|
(((unsigned long *)addr)[nr / __BITS_PER_LONG])) != 0;
|
|
}
|
|
|
|
#endif /* _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ */
|