As discussed in: https://lore.kernel.org/lkml/20240217005738.3744121-1-atishp@xxxxxxxxxxxx/ preferring sysfs/json events consistently (with or without a given PMU) will enable RISC-V's hope to customize legacy events in the perf tool. Some minor clean-up is performed on the way. v2. Additional cleanup particularly adding better error messages. Fix some line length issues on the earlier patches. Ian Rogers (16): perf parse-events: Factor out '<event_or_pmu>/.../' parsing perf parse-events: Directly pass PMU to parse_events_add_pmu perf parse-events: Avoid copying an empty list perf pmu: Refactor perf_pmu__match perf tests parse-events: Use branches rather than cache-references perf parse-events: Legacy cache names on all PMUs and lower priority perf parse-events: Handle PE_TERM_HW in name_or_raw perf parse-events: Constify parse_events_add_numeric perf parse-events: Prefer sysfs/json hardware events over legacy perf parse-events: Inline parse_events_update_lists perf parse-events: Improve error message for bad numbers perf parse-events: Inline parse_events_evlist_error perf parse-events: Improvements to modifier parsing perf parse-event: Constify event_symbol arrays perf parse-events: Minor grouping tidy up perf parse-events: Tidy the setting of the default event name tools/perf/tests/parse-events.c | 6 +- tools/perf/util/parse-events.c | 482 ++++++++++++++++---------------- tools/perf/util/parse-events.h | 49 ++-- tools/perf/util/parse-events.l | 196 +++++++++---- tools/perf/util/parse-events.y | 261 +++++++---------- tools/perf/util/pmu.c | 27 +- tools/perf/util/pmu.h | 2 +- 7 files changed, 540 insertions(+), 483 deletions(-) -- 2.44.0.683.g7961c838ac-goog