char *op_name_from_perf_id(void) { int i; struct op_perf_name names; const char *perf_name = perf_pmu_name(); for (i = 0; i < ARRAY_SIZE(op_perf_name_map); ++i) { names = op_perf_name_map[i]; if (!strcmp(names.perf_name, perf_name)) return names.op_name; } return NULL; }
int __init oprofile_arch_init(struct oprofile_operations *ops) { ops->backtrace = sh_backtrace; if (perf_num_counters() == 0) return -ENODEV; sh_pmu_op_name = kasprintf(GFP_KERNEL, "%s/%s", UTS_MACHINE, perf_pmu_name()); if (unlikely(!sh_pmu_op_name)) return -ENOMEM; return oprofile_perf_init(ops); }