perf hists: Properly release format fields
[deliverable/linux.git] / tools / perf / ui / hist.c
index c877c52ff4bc0560b1848ee43d723324fa996aae..2cd1a03bf3756dea2688098c44e81bf895495fd4 100644 (file)
@@ -519,18 +519,6 @@ void perf_hpp__register_sort_field(struct perf_hpp_fmt *format)
        list_add_tail(&format->sort_list, &perf_hpp__sort_list);
 }
 
-void perf_hpp__column_enable(unsigned col)
-{
-       BUG_ON(col >= PERF_HPP__MAX_INDEX);
-       perf_hpp__column_register(&perf_hpp__format[col]);
-}
-
-void perf_hpp__column_disable(unsigned col)
-{
-       BUG_ON(col >= PERF_HPP__MAX_INDEX);
-       perf_hpp__column_unregister(&perf_hpp__format[col]);
-}
-
 void perf_hpp__cancel_cumulate(void)
 {
        struct perf_hpp_fmt *fmt, *acc, *ovh, *tmp;
@@ -595,6 +583,12 @@ next:
        }
 }
 
+static void fmt_free(struct perf_hpp_fmt *fmt)
+{
+       if (fmt->free)
+               fmt->free(fmt);
+}
+
 void perf_hpp__reset_output_field(void)
 {
        struct perf_hpp_fmt *fmt, *tmp;
@@ -603,12 +597,14 @@ void perf_hpp__reset_output_field(void)
        perf_hpp__for_each_format_safe(fmt, tmp) {
                list_del_init(&fmt->list);
                list_del_init(&fmt->sort_list);
+               fmt_free(fmt);
        }
 
        /* reset sort keys */
        perf_hpp__for_each_sort_list_safe(fmt, tmp) {
                list_del_init(&fmt->list);
                list_del_init(&fmt->sort_list);
+               fmt_free(fmt);
        }
 }
 
This page took 0.027804 seconds and 5 git commands to generate.