aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include
diff options
context:
space:
mode:
authorSudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>2012-07-31 10:34:25 +0100
committerWill Deacon <will.deacon@arm.com>2012-08-23 11:35:52 +0100
commit051f1b13144dd8553d5a5104dde94c7263ae3ba7 (patch)
treeb9f10b81ace1d986a01c28afddec1f2cc8028e66 /arch/arm/include
parentARM: perf: move CPU-specific PMU handling code into separate file (diff)
downloadlinux-dev-051f1b13144dd8553d5a5104dde94c7263ae3ba7.tar.xz
linux-dev-051f1b13144dd8553d5a5104dde94c7263ae3ba7.zip
ARM: perf: move irq registration into pmu implementation
This patch moves the CPU-specific IRQ registration and parsing code into the CPU PMU backend. This is required because a PMU may have more than one interrupt, which in turn can be either PPI (per-cpu) or SPI (requiring strict affinity setting at the interrupt distributor). Signed-off-by: Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com> [will: cosmetic edits and reworked interrupt dispatching] Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/asm/pmu.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/include/asm/pmu.h b/arch/arm/include/asm/pmu.h
index a993ad676047..a26170dce02e 100644
--- a/arch/arm/include/asm/pmu.h
+++ b/arch/arm/include/asm/pmu.h
@@ -78,6 +78,8 @@ struct arm_pmu {
void (*start)(void);
void (*stop)(void);
void (*reset)(void *);
+ int (*request_irq)(irq_handler_t handler);
+ void (*free_irq)(void);
int (*map_event)(struct perf_event *event);
int num_events;
atomic_t active_events;