#define MAX_EVENT_LENGTH 512
 
-void parse_events__handle_error(struct parse_events_error *err, int idx,
-                               char *str, char *help)
-{
-       if (WARN(!str, "WARNING: failed to provide error string\n")) {
-               free(help);
-               return;
-       }
-       switch (err->num_errors) {
-       case 0:
-               err->idx = idx;
-               err->str = str;
-               err->help = help;
-               break;
-       case 1:
-               err->first_idx = err->idx;
-               err->idx = idx;
-               err->first_str = err->str;
-               err->str = str;
-               err->first_help = err->help;
-               err->help = help;
-               break;
-       default:
-               pr_debug("Multiple errors dropping message: %s (%s)\n",
-                       err->str, err->help);
-               free(err->str);
-               err->str = str;
-               free(err->help);
-               err->help = help;
-               break;
-       }
-       err->num_errors++;
-}
-
 struct tracepoint_path *tracepoint_id_to_path(u64 config)
 {
        struct tracepoint_path *path = NULL;
        }
 
        tracing_path__strerror_open_tp(err, help, sizeof(help), sys, name);
-       parse_events__handle_error(e, 0, strdup(str), strdup(help));
+       parse_events_error__handle(e, 0, strdup(str), strdup(help));
 }
 
 static int add_tracepoint(struct list_head *list, int *idx,
 
        return 0;
 errout:
-       parse_events__handle_error(parse_state->error, 0,
+       parse_events_error__handle(parse_state->error, 0,
                                strdup(errbuf), strdup("(add -v to see detail)"));
        return err;
 }
                int err;
 
                if (term->type_term != PARSE_EVENTS__TERM_TYPE_USER) {
-                       parse_events__handle_error(parse_state->error, term->err_term,
+                       parse_events_error__handle(parse_state->error, term->err_term,
                                                strdup("Invalid config term for BPF object"),
                                                NULL);
                        return -EINVAL;
                        else
                                idx = term->err_term + error_pos;
 
-                       parse_events__handle_error(parse_state->error, idx,
+                       parse_events_error__handle(parse_state->error, idx,
                                                strdup(errbuf),
                                                strdup(
 "Hint:\tValid config terms:\n"
                                                   -err, errbuf,
                                                   sizeof(errbuf));
 
-               parse_events__handle_error(parse_state->error, 0,
+               parse_events_error__handle(parse_state->error, 0,
                                        strdup(errbuf), strdup("(add -v to see detail)"));
                return err;
        }
                              struct bpf_object *obj __maybe_unused,
                              struct list_head *head_config __maybe_unused)
 {
-       parse_events__handle_error(parse_state->error, 0,
+       parse_events_error__handle(parse_state->error, 0,
                                   strdup("BPF support is not compiled"),
                                   strdup("Make sure libbpf-devel is available at build time."));
        return -ENOTSUP;
                          bool source __maybe_unused,
                          struct list_head *head_config __maybe_unused)
 {
-       parse_events__handle_error(parse_state->error, 0,
+       parse_events_error__handle(parse_state->error, 0,
                                   strdup("BPF support is not compiled"),
                                   strdup("Make sure libbpf-devel is available at build time."));
        return -ENOTSUP;
                return 0;
 
        if (err) {
-               parse_events__handle_error(err, term->err_val,
+               parse_events_error__handle(err, term->err_val,
                                        type == PARSE_EVENTS__TERM_TYPE_NUM
                                        ? strdup("expected numeric value")
                                        : strdup("expected string value"),
        char *err_str;
 
        if (term_type < 0 || term_type >= __PARSE_EVENTS__TERM_TYPE_NR) {
-               parse_events__handle_error(err, -1,
+               parse_events_error__handle(err, -1,
                                        strdup("Invalid term_type"), NULL);
                return false;
        }
                /* term_type is validated so indexing is safe */
                if (asprintf(&err_str, "'%s' is not usable in 'perf stat'",
                                config_term_names[term_type]) >= 0)
-                       parse_events__handle_error(err, -1, err_str, NULL);
+                       parse_events_error__handle(err, -1, err_str, NULL);
                return false;
        }
 }
                if (strcmp(term->val.str, "no") &&
                    parse_branch_str(term->val.str,
                                    &attr->branch_sample_type)) {
-                       parse_events__handle_error(err, term->err_val,
+                       parse_events_error__handle(err, term->err_val,
                                        strdup("invalid branch sample type"),
                                        NULL);
                        return -EINVAL;
        case PARSE_EVENTS__TERM_TYPE_TIME:
                CHECK_TYPE_VAL(NUM);
                if (term->val.num > 1) {
-                       parse_events__handle_error(err, term->err_val,
+                       parse_events_error__handle(err, term->err_val,
                                                strdup("expected 0 or 1"),
                                                NULL);
                        return -EINVAL;
        case PARSE_EVENTS__TERM_TYPE_PERCORE:
                CHECK_TYPE_VAL(NUM);
                if ((unsigned int)term->val.num > 1) {
-                       parse_events__handle_error(err, term->err_val,
+                       parse_events_error__handle(err, term->err_val,
                                                strdup("expected 0 or 1"),
                                                NULL);
                        return -EINVAL;
        case PARSE_EVENTS__TERM_TYPE_AUX_SAMPLE_SIZE:
                CHECK_TYPE_VAL(NUM);
                if (term->val.num > UINT_MAX) {
-                       parse_events__handle_error(err, term->err_val,
+                       parse_events_error__handle(err, term->err_val,
                                                strdup("too big"),
                                                NULL);
                        return -EINVAL;
                }
                break;
        default:
-               parse_events__handle_error(err, term->err_term,
+               parse_events_error__handle(err, term->err_term,
                                strdup("unknown term"),
                                parse_events_formats_error_string(NULL));
                return -EINVAL;
                return config_term_common(attr, term, err);
        default:
                if (err) {
-                       parse_events__handle_error(err, term->err_term,
+                       parse_events_error__handle(err, term->err_term,
                                strdup("unknown term"),
                                strdup("valid terms: call-graph,stack-size\n"));
                }
                if (asprintf(&err_str,
                                "Cannot find PMU `%s'. Missing kernel support?",
                                name) >= 0)
-                       parse_events__handle_error(err, 0, err_str, NULL);
+                       parse_events_error__handle(err, 0, err_str, NULL);
                return -EINVAL;
        }
 
        return ret;
 }
 
+void parse_events_error__handle(struct parse_events_error *err, int idx,
+                               char *str, char *help)
+{
+       if (WARN(!str, "WARNING: failed to provide error string\n")) {
+               free(help);
+               return;
+       }
+       switch (err->num_errors) {
+       case 0:
+               err->idx = idx;
+               err->str = str;
+               err->help = help;
+               break;
+       case 1:
+               err->first_idx = err->idx;
+               err->idx = idx;
+               err->first_str = err->str;
+               err->str = str;
+               err->first_help = err->help;
+               err->help = help;
+               break;
+       default:
+               pr_debug("Multiple errors dropping message: %s (%s)\n",
+                       err->str, err->help);
+               free(err->str);
+               err->str = str;
+               free(err->help);
+               err->help = help;
+               break;
+       }
+       err->num_errors++;
+}
+
 #define MAX_WIDTH 1000
 static int get_term_width(void)
 {
        return ws.ws_col > MAX_WIDTH ? MAX_WIDTH : ws.ws_col;
 }
 
-static void __parse_events_print_error(int err_idx, const char *err_str,
-                               const char *err_help, const char *event)
+static void __parse_events_error__print(int err_idx, const char *err_str,
+                                       const char *err_help, const char *event)
 {
        const char *str = "invalid or unsupported event: ";
        char _buf[MAX_WIDTH];
        }
 }
 
-void parse_events_print_error(struct parse_events_error *err,
-                             const char *event)
+void parse_events_error__print(struct parse_events_error *err,
+                              const char *event)
 {
        if (!err->num_errors)
                return;
 
-       __parse_events_print_error(err->idx, err->str, err->help, event);
+       __parse_events_error__print(err->idx, err->str, err->help, event);
        zfree(&err->str);
        zfree(&err->help);
 
        if (err->num_errors > 1) {
                fputs("\nInitial error:\n", stderr);
-               __parse_events_print_error(err->first_idx, err->first_str,
+               __parse_events_error__print(err->first_idx, err->first_str,
                                        err->first_help, event);
                zfree(&err->first_str);
                zfree(&err->first_help);
        ret = parse_events(evlist, str, &err);
 
        if (ret) {
-               parse_events_print_error(&err, str);
+               parse_events_error__print(&err, str);
                fprintf(stderr, "Run 'perf list' for a list of valid events\n");
        }
 
        if (!parse_state->error)
                return;
 
-       parse_events__handle_error(parse_state->error, idx, strdup(str), NULL);
+       parse_events_error__handle(parse_state->error, idx, strdup(str), NULL);
 }
 
 static void config_terms_list(char *buf, size_t buf_sz)