summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/pmu.h
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2012-07-06 15:45:00 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-07-09 17:41:10 +0100
commit4295b898f5a5c7e62ae68e7a4ecc4b414622ffe6 (patch)
treeb05cc5adefe9e4a42ccbbe31c7a771934e064a35 /arch/arm/include/asm/pmu.h
parent881ccccb6bd3f0e1fff8b9addbe0de90e0b16166 (diff)
downloadlinux-3.10-4295b898f5a5c7e62ae68e7a4ecc4b414622ffe6.tar.gz
linux-3.10-4295b898f5a5c7e62ae68e7a4ecc4b414622ffe6.tar.bz2
linux-3.10-4295b898f5a5c7e62ae68e7a4ecc4b414622ffe6.zip
ARM: 7448/1: perf: remove arm_perf_pmu_ids global enumeration
In order to provide PMU name strings compatible with the OProfile user ABI, an enumeration of all PMUs is currently used by perf to identify each PMU uniquely. Unfortunately, this does not scale well in the presence of multiple PMUs and creates a single, global namespace across all PMUs in the system. This patch removes the enumeration and instead uses the name string for the PMU to map onto the OProfile variant. perf_pmu_name is implemented for CPU PMUs, which is all that OProfile cares about anyway. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include/asm/pmu.h')
-rw-r--r--arch/arm/include/asm/pmu.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/include/asm/pmu.h b/arch/arm/include/asm/pmu.h
index 90114faa9f3..4432305f4a2 100644
--- a/arch/arm/include/asm/pmu.h
+++ b/arch/arm/include/asm/pmu.h
@@ -103,10 +103,9 @@ struct pmu_hw_events {
struct arm_pmu {
struct pmu pmu;
- enum arm_perf_pmu_ids id;
enum arm_pmu_type type;
cpumask_t active_irqs;
- const char *name;
+ char *name;
irqreturn_t (*handle_irq)(int irq_num, void *dev);
void (*enable)(struct hw_perf_event *evt, int idx);
void (*disable)(struct hw_perf_event *evt, int idx);