[PATCH 07/29] perf hists: Make hpp setup function generic

From: Arnaldo Carvalho de Melo
Date: Wed Feb 03 2016 - 11:44:15 EST


From: Jiri Olsa <jolsa@xxxxxxxxxx>

Now that we have the 'equal' method implemented for hpp format entries
we can ease up the logic in the following functions and make them
generic wrt comparing format entries:

perf_hpp__setup_output_field
perf_hpp__append_sort_keys

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link: http://lkml.kernel.org/r/1453109064-1026-8-git-send-email-jolsa@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/ui/hist.c | 36 ++++++++----------------------------
1 file changed, 8 insertions(+), 28 deletions(-)

diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
index b543f4b7d7d3..b0fcaecb7d1d 100644
--- a/tools/perf/ui/hist.c
+++ b/tools/perf/ui/hist.c
@@ -551,21 +551,11 @@ void perf_hpp__setup_output_field(void)

/* append sort keys to output field */
perf_hpp__for_each_sort_list(fmt) {
- if (!list_empty(&fmt->list))
- continue;
+ struct perf_hpp_fmt *pos;

- /*
- * sort entry fields are dynamically created,
- * so they can share a same sort key even though
- * the list is empty.
- */
- if (perf_hpp__is_sort_entry(fmt)) {
- struct perf_hpp_fmt *pos;
-
- perf_hpp__for_each_format(pos) {
- if (fmt_equal(fmt, pos))
- goto next;
- }
+ perf_hpp__for_each_format(pos) {
+ if (fmt_equal(fmt, pos))
+ goto next;
}

perf_hpp__column_register(fmt);
@@ -580,21 +570,11 @@ void perf_hpp__append_sort_keys(void)

/* append output fields to sort keys */
perf_hpp__for_each_format(fmt) {
- if (!list_empty(&fmt->sort_list))
- continue;
+ struct perf_hpp_fmt *pos;

- /*
- * sort entry fields are dynamically created,
- * so they can share a same sort key even though
- * the list is empty.
- */
- if (perf_hpp__is_sort_entry(fmt)) {
- struct perf_hpp_fmt *pos;
-
- perf_hpp__for_each_sort_list(pos) {
- if (fmt_equal(fmt, pos))
- goto next;
- }
+ perf_hpp__for_each_sort_list(pos) {
+ if (fmt_equal(fmt, pos))
+ goto next;
}

perf_hpp__register_sort_field(fmt);
--
2.5.0