set_nodestr(c2c_he);
 }
 
-static int filter_cb(struct hist_entry *he)
+static int filter_cb(struct hist_entry *he, void *arg __maybe_unused)
 {
        struct c2c_hist_entry *c2c_he;
 
        return 0;
 }
 
-static int resort_cl_cb(struct hist_entry *he)
+static int resort_cl_cb(struct hist_entry *he, void *arg __maybe_unused)
 {
        struct c2c_hist_entry *c2c_he;
        struct c2c_hists *c2c_hists;
 
 #define HAS_HITMS(__h) ((__h)->stats.lcl_hitm || (__h)->stats.rmt_hitm)
 
-static int resort_hitm_cb(struct hist_entry *he)
+static int resort_hitm_cb(struct hist_entry *he, void *arg __maybe_unused)
 {
        struct c2c_hist_entry *c2c_he;
        c2c_he = container_of(he, struct c2c_hist_entry, he);
                struct hist_entry *he;
 
                he = rb_entry(next, struct hist_entry, rb_node);
-               ret = cb(he);
+               ret = cb(he, NULL);
                if (ret)
                        break;
                next = rb_next(&he->rb_node);
 
 }
 
 static void output_resort(struct hists *hists, struct ui_progress *prog,
-                         bool use_callchain, hists__resort_cb_t cb)
+                         bool use_callchain, hists__resort_cb_t cb,
+                         void *cb_arg)
 {
        struct rb_root_cached *root;
        struct rb_node *next;
                n = rb_entry(next, struct hist_entry, rb_node_in);
                next = rb_next(&n->rb_node_in);
 
-               if (cb && cb(n))
+               if (cb && cb(n, cb_arg))
                        continue;
 
                __hists__insert_output_entry(&hists->entries, n, min_callchain_hits, use_callchain);
 
        use_callchain |= symbol_conf.show_branchflag_count;
 
-       output_resort(evsel__hists(evsel), prog, use_callchain, NULL);
+       output_resort(evsel__hists(evsel), prog, use_callchain, NULL, NULL);
 }
 
 void hists__output_resort(struct hists *hists, struct ui_progress *prog)
 {
-       output_resort(hists, prog, symbol_conf.use_callchain, NULL);
+       output_resort(hists, prog, symbol_conf.use_callchain, NULL, NULL);
 }
 
 void hists__output_resort_cb(struct hists *hists, struct ui_progress *prog,
                             hists__resort_cb_t cb)
 {
-       output_resort(hists, prog, symbol_conf.use_callchain, cb);
+       output_resort(hists, prog, symbol_conf.use_callchain, cb, NULL);
 }
 
 static bool can_goto_child(struct hist_entry *he, enum hierarchy_move_dir hmd)
 
                                   struct perf_hpp_fmt *fmt, int printed);
 void hist_entry__delete(struct hist_entry *he);
 
-typedef int (*hists__resort_cb_t)(struct hist_entry *he);
+typedef int (*hists__resort_cb_t)(struct hist_entry *he, void *arg);
 
 void perf_evsel__output_resort(struct perf_evsel *evsel, struct ui_progress *prog);
 void hists__output_resort(struct hists *hists, struct ui_progress *prog);