|
@@ -490,32 +490,6 @@ parse_multiple_tracepoint_event(char *sys_name, const char *evt_exp,
|
|
|
return EVT_HANDLED_ALL;
|
|
|
}
|
|
|
|
|
|
-static int store_event_type(const char *orgname)
|
|
|
-{
|
|
|
- char filename[PATH_MAX], *c;
|
|
|
- FILE *file;
|
|
|
- int id, n;
|
|
|
-
|
|
|
- sprintf(filename, "%s/", debugfs_path);
|
|
|
- strncat(filename, orgname, strlen(orgname));
|
|
|
- strcat(filename, "/id");
|
|
|
-
|
|
|
- c = strchr(filename, ':');
|
|
|
- if (c)
|
|
|
- *c = '/';
|
|
|
-
|
|
|
- file = fopen(filename, "r");
|
|
|
- if (!file)
|
|
|
- return 0;
|
|
|
- n = fscanf(file, "%i", &id);
|
|
|
- fclose(file);
|
|
|
- if (n < 1) {
|
|
|
- pr_err("cannot store event ID\n");
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
- return perf_header__push_event(id, orgname);
|
|
|
-}
|
|
|
-
|
|
|
static enum event_result parse_tracepoint_event(const char **strp,
|
|
|
struct perf_event_attr *attr)
|
|
|
{
|
|
@@ -555,13 +529,10 @@ static enum event_result parse_tracepoint_event(const char **strp,
|
|
|
if (evt_length >= MAX_EVENT_LENGTH)
|
|
|
return EVT_FAILED;
|
|
|
if (strpbrk(evt_name, "*?")) {
|
|
|
- *strp += strlen(sys_name) + evt_length;
|
|
|
+ *strp += strlen(sys_name) + evt_length + 1; /* 1 == the ':' */
|
|
|
return parse_multiple_tracepoint_event(sys_name, evt_name,
|
|
|
flags);
|
|
|
} else {
|
|
|
- if (store_event_type(evt_name) < 0)
|
|
|
- return EVT_FAILED;
|
|
|
-
|
|
|
return parse_single_tracepoint_event(sys_name, evt_name,
|
|
|
evt_length, attr, strp);
|
|
|
}
|