return set;
 }
 
-static int validate_ctr_version(const struct hw_perf_event *hwc,
-                               enum cpumf_ctr_set set)
+static int validate_ctr_version(const u64 config, enum cpumf_ctr_set set)
 {
        u16 mtdiag_ctl;
        int err = 0;
                break;
        case CPUMF_CTR_SET_CRYPTO:
                if ((cpumf_ctr_info.csvn >= 1 && cpumf_ctr_info.csvn <= 5 &&
-                    hwc->config > 79) ||
-                   (cpumf_ctr_info.csvn >= 6 && hwc->config > 83))
+                    config > 79) || (cpumf_ctr_info.csvn >= 6 && config > 83))
                        err = -EOPNOTSUPP;
                break;
        case CPUMF_CTR_SET_EXT:
                if (cpumf_ctr_info.csvn < 1)
                        err = -EOPNOTSUPP;
-               if ((cpumf_ctr_info.csvn == 1 && hwc->config > 159) ||
-                   (cpumf_ctr_info.csvn == 2 && hwc->config > 175) ||
-                   (cpumf_ctr_info.csvn >= 3 && cpumf_ctr_info.csvn <= 5
-                    && hwc->config > 255) ||
-                   (cpumf_ctr_info.csvn >= 6 && hwc->config > 287))
+               if ((cpumf_ctr_info.csvn == 1 && config > 159) ||
+                   (cpumf_ctr_info.csvn == 2 && config > 175) ||
+                   (cpumf_ctr_info.csvn >= 3 && cpumf_ctr_info.csvn <= 5 &&
+                    config > 255) ||
+                   (cpumf_ctr_info.csvn >= 6 && config > 287))
                        err = -EOPNOTSUPP;
                break;
        case CPUMF_CTR_SET_MT_DIAG:
        /* Finally, validate version and authorization of the counter set */
        err = validate_ctr_auth(hwc);
        if (!err)
-               err = validate_ctr_version(hwc, set);
+               err = validate_ctr_version(hwc->config, set);
 
        return err;
 }