projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
perf tools: Factor out copy_config_terms() and free_config_terms()
[linux-2.6-microblaze.git]
/
tools
/
perf
/
util
/
evsel.c
diff --git
a/tools/perf/util/evsel.c
b/tools/perf/util/evsel.c
index
54d2513
..
dbfeceb
100644
(file)
--- a/
tools/perf/util/evsel.c
+++ b/
tools/perf/util/evsel.c
@@
-333,11
+333,11
@@
error_free:
goto out;
}
goto out;
}
-
static int evsel__copy_config_terms(struct evsel *dst, struct evsel
*src)
+
int copy_config_terms(struct list_head *dst, struct list_head
*src)
{
struct evsel_config_term *pos, *tmp;
{
struct evsel_config_term *pos, *tmp;
- list_for_each_entry(pos,
&src->config_terms
, list) {
+ list_for_each_entry(pos,
src
, list) {
tmp = malloc(sizeof(*tmp));
if (tmp == NULL)
return -ENOMEM;
tmp = malloc(sizeof(*tmp));
if (tmp == NULL)
return -ENOMEM;
@@
-350,11
+350,16
@@
static int evsel__copy_config_terms(struct evsel *dst, struct evsel *src)
return -ENOMEM;
}
}
return -ENOMEM;
}
}
- list_add_tail(&tmp->list,
&dst->config_terms
);
+ list_add_tail(&tmp->list,
dst
);
}
return 0;
}
}
return 0;
}
+static int evsel__copy_config_terms(struct evsel *dst, struct evsel *src)
+{
+ return copy_config_terms(&dst->config_terms, &src->config_terms);
+}
+
/**
* evsel__clone - create a new evsel copied from @orig
* @orig: original evsel
/**
* evsel__clone - create a new evsel copied from @orig
* @orig: original evsel
@@
-1385,11
+1390,11
@@
int evsel__disable(struct evsel *evsel)
return err;
}
return err;
}
-
static void evsel__free_config_terms(struct evsel *evsel
)
+
void free_config_terms(struct list_head *config_terms
)
{
struct evsel_config_term *term, *h;
{
struct evsel_config_term *term, *h;
- list_for_each_entry_safe(term, h,
&evsel->
config_terms, list) {
+ list_for_each_entry_safe(term, h, config_terms, list) {
list_del_init(&term->list);
if (term->free_str)
zfree(&term->val.str);
list_del_init(&term->list);
if (term->free_str)
zfree(&term->val.str);
@@
-1397,6
+1402,11
@@
static void evsel__free_config_terms(struct evsel *evsel)
}
}
}
}
+static void evsel__free_config_terms(struct evsel *evsel)
+{
+ free_config_terms(&evsel->config_terms);
+}
+
void evsel__exit(struct evsel *evsel)
{
assert(list_empty(&evsel->core.node));
void evsel__exit(struct evsel *evsel)
{
assert(list_empty(&evsel->core.node));