aboutsummaryrefslogtreecommitdiffstats
path: root/tools/include/linux
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@redhat.com>2016-08-02 07:33:02 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-08-02 15:33:26 -0400
commit98c032967a299ee4bf14ef19eded02b65df32e6f (patch)
treea65d6bc10246f369c7cb62e3f3942a3e5593e4ef /tools/include/linux
parent979a70a237efb68e15b1cee36f9f92037e71d1fd (diff)
tools lib: Add bitmap_alloc function
Adding bitmap_alloc function to dynamically allocate bitmap. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/20160802113302.GA7479@krava Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/include/linux')
-rw-r--r--tools/include/linux/bitmap.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/include/linux/bitmap.h b/tools/include/linux/bitmap.h
index 28f5493da491..60c44b615902 100644
--- a/tools/include/linux/bitmap.h
+++ b/tools/include/linux/bitmap.h
@@ -3,6 +3,7 @@
3 3
4#include <string.h> 4#include <string.h>
5#include <linux/bitops.h> 5#include <linux/bitops.h>
6#include <stdlib.h>
6 7
7#define DECLARE_BITMAP(name,bits) \ 8#define DECLARE_BITMAP(name,bits) \
8 unsigned long name[BITS_TO_LONGS(bits)] 9 unsigned long name[BITS_TO_LONGS(bits)]
@@ -65,4 +66,13 @@ static inline int test_and_set_bit(int nr, unsigned long *addr)
65 return (old & mask) != 0; 66 return (old & mask) != 0;
66} 67}
67 68
69/**
70 * bitmap_alloc - Allocate bitmap
71 * @nr: Bit to set
72 */
73static inline unsigned long *bitmap_alloc(int nbits)
74{
75 return calloc(1, BITS_TO_LONGS(nbits) * sizeof(unsigned long));
76}
77
68#endif /* _PERF_BITOPS_H */ 78#endif /* _PERF_BITOPS_H */