perf evlist: Add evlist__for_each_entry_from() macro
[linux-2.6-microblaze.git] / tools / perf / util / evlist.h
index 2073cfa..97bfb8d 100644 (file)
@@ -50,7 +50,6 @@ enum bkw_mmap_state {
 
 struct evlist {
        struct perf_evlist core;
-       int              nr_groups;
        bool             enabled;
        int              id_pos;
        int              is_pos;
@@ -202,7 +201,6 @@ void evlist__set_selected(struct evlist *evlist, struct evsel *evsel);
 int evlist__create_maps(struct evlist *evlist, struct target *target);
 int evlist__apply_filters(struct evlist *evlist, struct evsel **err_evsel);
 
-void __evlist__set_leader(struct list_head *list);
 void evlist__set_leader(struct evlist *evlist);
 
 u64 __evlist__combined_sample_type(struct evlist *evlist);
@@ -277,6 +275,22 @@ void evlist__to_front(struct evlist *evlist, struct evsel *move_evsel);
 #define evlist__for_each_entry_continue(evlist, evsel) \
        __evlist__for_each_entry_continue(&(evlist)->core.entries, evsel)
 
+/**
+ * __evlist__for_each_entry_from - continue iteration from @evsel (included)
+ * @list: list_head instance to iterate
+ * @evsel: struct evsel iterator
+ */
+#define __evlist__for_each_entry_from(list, evsel) \
+       list_for_each_entry_from(evsel, list, core.node)
+
+/**
+ * evlist__for_each_entry_from - continue iteration from @evsel (included)
+ * @evlist: evlist instance to iterate
+ * @evsel: struct evsel iterator
+ */
+#define evlist__for_each_entry_from(evlist, evsel) \
+       __evlist__for_each_entry_from(&(evlist)->core.entries, evsel)
+
 /**
  * __evlist__for_each_entry_reverse - iterate thru all the evsels in reverse order
  * @list: list_head instance to iterate