#include "evsel.h"
 #include "strbuf.h"
 #include "pmu.h"
-#include "pmu-hybrid.h"
 #include "print-events.h"
 #include "smt.h"
 #include "expr.h"
        const char *metric_id;
        struct evsel *ev;
        size_t ids_size, matched_events, i;
-       bool all_pmus = !strcmp(pmu, "all") || !perf_pmu__is_hybrid(pmu);
+       bool all_pmus = !strcmp(pmu, "all") || !perf_pmu__has_hybrid() || !is_pmu_hybrid(pmu);
 
        *out_metric_events = NULL;
        ids_size = hashmap__size(ids);
                struct expr_id_data *val_ptr;
 
                /* Don't match events for the wrong hybrid PMU. */
-               if (!all_pmus && ev->pmu_name &&
-                   perf_pmu__is_hybrid(ev->pmu_name) &&
+               if (!all_pmus && ev->pmu_name && evsel__is_hybrid(ev) &&
                    strcmp(ev->pmu_name, pmu))
                        continue;
                /*