Oprofile module needs a function to get the number of pmu counters in its high level interfaces. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxx> --- arch/mips/include/asm/pmu.h | 1 + arch/mips/kernel/perf_event.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/arch/mips/include/asm/pmu.h b/arch/mips/include/asm/pmu.h index 16d4fcd..023a915 100644 --- a/arch/mips/include/asm/pmu.h +++ b/arch/mips/include/asm/pmu.h @@ -114,5 +114,6 @@ enum mips_pmu_id { extern const char *mips_pmu_names[]; extern enum mips_pmu_id mipspmu_get_pmu_id(void); +extern int mipspmu_get_max_events(void); #endif /* __MIPS_PMU_H__ */ diff --git a/arch/mips/kernel/perf_event.c b/arch/mips/kernel/perf_event.c index 67d301d..6f95220 100644 --- a/arch/mips/kernel/perf_event.c +++ b/arch/mips/kernel/perf_event.c @@ -145,6 +145,17 @@ enum mips_pmu_id mipspmu_get_pmu_id(void) } EXPORT_SYMBOL_GPL(mipspmu_get_pmu_id); +int mipspmu_get_max_events(void) +{ + int max_events = 0; + + if (mipspmu) + max_events = mipspmu->num_counters; + + return max_events; +} +EXPORT_SYMBOL_GPL(mipspmu_get_max_events); + static int mipspmu_event_set_period(struct perf_event *event, struct hw_perf_event *hwc, -- 1.6.3.3