perf evsel: Introduce perf_evsel__prev() method
authorArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 13 Nov 2013 18:56:40 +0000 (15:56 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 14 Nov 2013 19:00:16 +0000 (16:00 -0300)
Just one use so far, on the hists browser, for completeness since there
we use perf_evlist__{first,last} and perf_evsel__next() for handling the
TAB and UNTAB keys.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-d09l4lejp5427enuf3igpckw@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/ui/browsers/hists.c
tools/perf/util/evsel.h

index 089fd3713783872121403dcf40d645116b149ff5..a440e03cd8c235402b626526b41676b3ad95488b 100644 (file)
@@ -1855,7 +1855,7 @@ browse_hists:
                                if (pos->node.prev == &evlist->entries)
                                        pos = perf_evlist__last(evlist);
                                else
-                                       pos = list_entry(pos->node.prev, struct perf_evsel, node);
+                                       pos = perf_evsel__prev(pos);
                                goto browse_hists;
                        case K_ESC:
                                if (!ui_browser__dialog_yesno(&menu->b,
index f5029653dcd74f590aa2692c247cc3cefbd9e977..1ea7c92e6e3365aebbedbed37ae728e9473dbab5 100644 (file)
@@ -279,6 +279,11 @@ static inline struct perf_evsel *perf_evsel__next(struct perf_evsel *evsel)
        return list_entry(evsel->node.next, struct perf_evsel, node);
 }
 
+static inline struct perf_evsel *perf_evsel__prev(struct perf_evsel *evsel)
+{
+       return list_entry(evsel->node.prev, struct perf_evsel, node);
+}
+
 /**
  * perf_evsel__is_group_leader - Return whether given evsel is a leader event
  *