[PATCH 07/26] perf tools: Make hpp setup function generic

From: Jiri Olsa
Date: Mon Jan 18 2016 - 04:24:50 EST


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

perf_hpp__setup_output_field
perf_hpp__append_sort_keys

Link: http://lkml.kernel.org/n/tip-6ncdmurfcmyk4sfy7fr4bkr1@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@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.4.3