perf parse: Refactor 'struct perf_evsel_config_term'
authorLeo Yan <leo.yan@linaro.org>
Fri, 17 Jan 2020 05:52:50 +0000 (13:52 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 30 Jan 2020 10:55:02 +0000 (11:55 +0100)
commite884602b57c07fae54ff357e4b996b2053b47c1e
tree45ecc67dda0e9c981e29e030bd9ddaf488fb1369
parent0cc4bd8f70d1ea2940295f1050508c663fe9eff9
perf parse: Refactor 'struct perf_evsel_config_term'

The struct perf_evsel_config_term::val is a union which contains fields
'callgraph', 'drv_cfg' and 'branch' as string pointers.  This leads to
the complex code logic for handling every type's string separately, and
it's hard to release string as a general way.

This patch refactors the structure to add a common field 'str' in the
'val' union as string pointer and remove the other three fields
'callgraph', 'drv_cfg' and 'branch'.  Without passing field name, the
patch simplifies the string handling with macro ADD_CONFIG_TERM_STR()
for string pointer assignment.

This patch fixes multiple warnings of line over 80 characters detected
by checkpatch tool.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lore.kernel.org/lkml/20200117055251.24058-1-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/arm/util/cs-etm.c
tools/perf/util/evsel.c
tools/perf/util/evsel_config.h
tools/perf/util/parse-events.c