Pārlūkot izejas kodu

ARM: 6071/1: perf-events: allow modules to query the number of hardware counters

For OProfile to initialise oprofilefs correctly, it needs to know
the number of counters it can represent.

This patch adds a function to the ARM perf-events backend to return
the number of hardware counters available for the current PMU.

Cc: Jamie Iles <jamie.iles@picochip.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon 15 gadi atpakaļ
vecāks
revīzija
929f519944
2 mainītis faili ar 15 papildinājumiem un 0 dzēšanām
  1. 3 0
      arch/arm/include/asm/perf_event.h
  2. 12 0
      arch/arm/kernel/perf_event.c

+ 3 - 0
arch/arm/include/asm/perf_event.h

@@ -42,4 +42,7 @@ enum arm_perf_pmu_ids {
 extern enum arm_perf_pmu_ids
 armpmu_get_pmu_id(void);
 
+extern int
+armpmu_get_max_events(void);
+
 #endif /* __ARM_PERF_EVENT_H__ */

+ 12 - 0
arch/arm/kernel/perf_event.c

@@ -111,6 +111,18 @@ armpmu_get_pmu_id(void)
 }
 EXPORT_SYMBOL_GPL(armpmu_get_pmu_id);
 
+int
+armpmu_get_max_events(void)
+{
+	int max_events = 0;
+
+	if (armpmu != NULL)
+		max_events = armpmu->num_events;
+
+	return max_events;
+}
+EXPORT_SYMBOL_GPL(armpmu_get_max_events);
+
 #define HW_OP_UNSUPPORTED		0xFFFF
 
 #define C(_x) \