diff options
Diffstat (limited to 'tools/perf/util/auxtrace.c')
| -rw-r--r-- | tools/perf/util/auxtrace.c | 22 | 
1 files changed, 21 insertions, 1 deletions
| diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c index eb087e7df6f4..3571ce72ca28 100644 --- a/tools/perf/util/auxtrace.c +++ b/tools/perf/util/auxtrace.c @@ -629,8 +629,10 @@ int auxtrace_record__options(struct auxtrace_record *itr,  			     struct evlist *evlist,  			     struct record_opts *opts)  { -	if (itr) +	if (itr) { +		itr->evlist = evlist;  		return itr->recording_options(itr, evlist, opts); +	}  	return 0;  } @@ -664,6 +666,24 @@ int auxtrace_parse_snapshot_options(struct auxtrace_record *itr,  	return -EINVAL;  } +int auxtrace_record__read_finish(struct auxtrace_record *itr, int idx) +{ +	struct evsel *evsel; + +	if (!itr->evlist || !itr->pmu) +		return -EINVAL; + +	evlist__for_each_entry(itr->evlist, evsel) { +		if (evsel->core.attr.type == itr->pmu->type) { +			if (evsel->disabled) +				return 0; +			return perf_evlist__enable_event_idx(itr->evlist, evsel, +							     idx); +		} +	} +	return -EINVAL; +} +  /*   * Event record size is 16-bit which results in a maximum size of about 64KiB.   * Allow about 4KiB for the rest of the sample record, to give a maximum |