len = perf_pmu__event_source_devices_scnprintf(path, sizeof(path));
        if (!len)
                return 0;
-       scnprintf(path + len, sizeof(path) - len, "%s/%s.scale", pmu->name, alias->name);
+       scnprintf(path + len, sizeof(path) - len, "%s/events/%s.scale", pmu->name, alias->name);
 
        fd = open(path, O_RDONLY);
        if (fd == -1)
        len = perf_pmu__event_source_devices_scnprintf(path, sizeof(path));
        if (!len)
                return 0;
-       scnprintf(path + len, sizeof(path) - len, "%s/%s.unit", pmu->name, alias->name);
+       scnprintf(path + len, sizeof(path) - len, "%s/events/%s.unit", pmu->name, alias->name);
 
        fd = open(path, O_RDONLY);
        if (fd == -1)
        len = perf_pmu__event_source_devices_scnprintf(path, sizeof(path));
        if (!len)
                return 0;
-       scnprintf(path + len, sizeof(path) - len, "%s/%s.per-pkg", pmu->name, alias->name);
+       scnprintf(path + len, sizeof(path) - len, "%s/events/%s.per-pkg", pmu->name, alias->name);
 
        fd = open(path, O_RDONLY);
        if (fd == -1)
        len = perf_pmu__event_source_devices_scnprintf(path, sizeof(path));
        if (!len)
                return 0;
-       scnprintf(path + len, sizeof(path) - len, "%s/%s.snapshot", pmu->name, alias->name);
+       scnprintf(path + len, sizeof(path) - len, "%s/events/%s.snapshot", pmu->name, alias->name);
 
        fd = open(path, O_RDONLY);
        if (fd == -1)