diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-12-15 14:44:26 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-12-17 09:11:52 -0500 |
commit | cae68d4f6a0a1f8fb7c979f356e994a3c17543c1 (patch) | |
tree | d262e5c33ff842c4e61a226c9024d9bdd382acb0 /tools | |
parent | 0389cd1f5fda34c14941c37a39547d16af5d56e2 (diff) |
tools: Move code originally from asm-generic/atomic.h into tools/include/asm-generic/
To match the Linux kernel source code structure from where this code came from.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-1ldjhvioch1uczilno5e1epl@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/include/asm-generic/bitops/atomic.h | 22 | ||||
-rw-r--r-- | tools/perf/MANIFEST | 1 | ||||
-rw-r--r-- | tools/perf/Makefile.perf | 1 | ||||
-rw-r--r-- | tools/perf/util/include/linux/bitops.h | 16 |
4 files changed, 25 insertions, 15 deletions
diff --git a/tools/include/asm-generic/bitops/atomic.h b/tools/include/asm-generic/bitops/atomic.h new file mode 100644 index 000000000000..4bccd7c3d5d6 --- /dev/null +++ b/tools/include/asm-generic/bitops/atomic.h | |||
@@ -0,0 +1,22 @@ | |||
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 | |||
6 | static inline void set_bit(int nr, unsigned long *addr) | ||
7 | { | ||
8 | addr[nr / __BITS_PER_LONG] |= 1UL << (nr % __BITS_PER_LONG); | ||
9 | } | ||
10 | |||
11 | static inline void clear_bit(int nr, unsigned long *addr) | ||
12 | { | ||
13 | addr[nr / __BITS_PER_LONG] &= ~(1UL << (nr % __BITS_PER_LONG)); | ||
14 | } | ||
15 | |||
16 | static __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_ */ | ||
diff --git a/tools/perf/MANIFEST b/tools/perf/MANIFEST index db7827fd2518..67d48e20f7e1 100644 --- a/tools/perf/MANIFEST +++ b/tools/perf/MANIFEST | |||
@@ -5,6 +5,7 @@ tools/lib/api | |||
5 | tools/lib/symbol/kallsyms.c | 5 | tools/lib/symbol/kallsyms.c |
6 | tools/lib/symbol/kallsyms.h | 6 | tools/lib/symbol/kallsyms.h |
7 | tools/include/asm/bug.h | 7 | tools/include/asm/bug.h |
8 | tools/include/asm-generic/bitops/atomic.h | ||
8 | tools/include/asm-generic/bitops/__ffs.h | 9 | tools/include/asm-generic/bitops/__ffs.h |
9 | tools/include/linux/compiler.h | 10 | tools/include/linux/compiler.h |
10 | tools/include/linux/export.h | 11 | tools/include/linux/export.h |
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index ec2be6404893..604349dcafef 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf | |||
@@ -232,6 +232,7 @@ LIB_H += ../include/linux/hash.h | |||
232 | LIB_H += ../../include/linux/stringify.h | 232 | LIB_H += ../../include/linux/stringify.h |
233 | LIB_H += util/include/linux/bitmap.h | 233 | LIB_H += util/include/linux/bitmap.h |
234 | LIB_H += util/include/linux/bitops.h | 234 | LIB_H += util/include/linux/bitops.h |
235 | LIB_H += ../include/asm-generic/bitops/atomic.h | ||
235 | LIB_H += ../include/asm-generic/bitops/__ffs.h | 236 | LIB_H += ../include/asm-generic/bitops/__ffs.h |
236 | LIB_H += ../include/linux/compiler.h | 237 | LIB_H += ../include/linux/compiler.h |
237 | LIB_H += ../include/linux/log2.h | 238 | LIB_H += ../include/linux/log2.h |
diff --git a/tools/perf/util/include/linux/bitops.h b/tools/perf/util/include/linux/bitops.h index 762bb83333c0..71f017dc6230 100644 --- a/tools/perf/util/include/linux/bitops.h +++ b/tools/perf/util/include/linux/bitops.h | |||
@@ -29,21 +29,7 @@ | |||
29 | (bit) < (size); \ | 29 | (bit) < (size); \ |
30 | (bit) = find_next_bit((addr), (size), (bit) + 1)) | 30 | (bit) = find_next_bit((addr), (size), (bit) + 1)) |
31 | 31 | ||
32 | static inline void set_bit(int nr, unsigned long *addr) | 32 | #include <asm-generic/bitops/atomic.h> |
33 | { | ||
34 | addr[nr / BITS_PER_LONG] |= 1UL << (nr % BITS_PER_LONG); | ||
35 | } | ||
36 | |||
37 | static inline void clear_bit(int nr, unsigned long *addr) | ||
38 | { | ||
39 | addr[nr / BITS_PER_LONG] &= ~(1UL << (nr % BITS_PER_LONG)); | ||
40 | } | ||
41 | |||
42 | static __always_inline int test_bit(unsigned int nr, const unsigned long *addr) | ||
43 | { | ||
44 | return ((1UL << (nr % BITS_PER_LONG)) & | ||
45 | (((unsigned long *)addr)[nr / BITS_PER_LONG])) != 0; | ||
46 | } | ||
47 | 33 | ||
48 | static inline unsigned long hweight_long(unsigned long w) | 34 | static inline unsigned long hweight_long(unsigned long w) |
49 | { | 35 | { |