Adding perf_evlist__init function to initialize perf_evlist struct. Link: http://lkml.kernel.org/n/tip-uhs894b98iiydutjgr1z5...@git.kernel.org Signed-off-by: Jiri Olsa <jo...@kernel.org> --- tools/perf/lib/evlist.c | 5 +++++ tools/perf/lib/include/perf/evlist.h | 4 ++++ tools/perf/lib/libperf.map | 1 + tools/perf/util/evlist.c | 3 ++- 4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/tools/perf/lib/evlist.c b/tools/perf/lib/evlist.c index 646bdd518793..fdc8c1894b37 100644 --- a/tools/perf/lib/evlist.c +++ b/tools/perf/lib/evlist.c @@ -2,3 +2,8 @@ #include <perf/evlist.h> #include <linux/list.h> #include <internal/evlist.h> + +void perf_evlist__init(struct perf_evlist *evlist) +{ + INIT_LIST_HEAD(&evlist->entries); +} diff --git a/tools/perf/lib/include/perf/evlist.h b/tools/perf/lib/include/perf/evlist.h index 92b0eb39caec..1ddfcca0bd01 100644 --- a/tools/perf/lib/include/perf/evlist.h +++ b/tools/perf/lib/include/perf/evlist.h @@ -2,6 +2,10 @@ #ifndef __LIBPERF_EVLIST_H #define __LIBPERF_EVLIST_H +#include <perf/core.h> + struct perf_evlist; +LIBPERF_API void perf_evlist__init(struct perf_evlist *evlist); + #endif /* __LIBPERF_EVLIST_H */ diff --git a/tools/perf/lib/libperf.map b/tools/perf/lib/libperf.map index 54f8503c6d82..5ca6ff6fcdfa 100644 --- a/tools/perf/lib/libperf.map +++ b/tools/perf/lib/libperf.map @@ -10,6 +10,7 @@ LIBPERF_0.0.1 { perf_thread_map__get; perf_thread_map__put; perf_evsel__init; + perf_evlist__init; local: *; }; diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index faf3ffd81d4c..aacddd9b2d64 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c @@ -33,6 +33,7 @@ #include <linux/log2.h> #include <linux/err.h> #include <linux/zalloc.h> +#include <perf/evlist.h> #ifdef LACKS_SIGQUEUE_PROTOTYPE int sigqueue(pid_t pid, int sig, const union sigval value); @@ -48,11 +49,11 @@ void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus, for (i = 0; i < PERF_EVLIST__HLIST_SIZE; ++i) INIT_HLIST_HEAD(&evlist->heads[i]); - INIT_LIST_HEAD(&evlist->core.entries); perf_evlist__set_maps(evlist, cpus, threads); fdarray__init(&evlist->pollfd, 64); evlist->workload.pid = -1; evlist->bkw_mmap_state = BKW_MMAP_NOTREADY; + perf_evlist__init(&evlist->core); } struct evlist *evlist__new(void) -- 2.21.0