diff options
-rw-r--r-- | arch/arm/kernel/perf_event.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c index 9331d5731445..1a2ebbf07fb7 100644 --- a/arch/arm/kernel/perf_event.c +++ b/arch/arm/kernel/perf_event.c | |||
@@ -60,6 +60,7 @@ static DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events); | |||
60 | 60 | ||
61 | struct arm_pmu { | 61 | struct arm_pmu { |
62 | enum arm_perf_pmu_ids id; | 62 | enum arm_perf_pmu_ids id; |
63 | enum arm_pmu_type type; | ||
63 | cpumask_t active_irqs; | 64 | cpumask_t active_irqs; |
64 | const char *name; | 65 | const char *name; |
65 | irqreturn_t (*handle_irq)(int irq_num, void *dev); | 66 | irqreturn_t (*handle_irq)(int irq_num, void *dev); |
@@ -396,7 +397,7 @@ armpmu_release_hardware(void) | |||
396 | free_irq(irq, NULL); | 397 | free_irq(irq, NULL); |
397 | } | 398 | } |
398 | 399 | ||
399 | release_pmu(ARM_PMU_DEVICE_CPU); | 400 | release_pmu(armpmu->type); |
400 | } | 401 | } |
401 | 402 | ||
402 | static int | 403 | static int |
@@ -407,7 +408,7 @@ armpmu_reserve_hardware(void) | |||
407 | int i, err, irq, irqs; | 408 | int i, err, irq, irqs; |
408 | struct platform_device *pmu_device = armpmu->plat_device; | 409 | struct platform_device *pmu_device = armpmu->plat_device; |
409 | 410 | ||
410 | err = reserve_pmu(ARM_PMU_DEVICE_CPU); | 411 | err = reserve_pmu(armpmu->type); |
411 | if (err) { | 412 | if (err) { |
412 | pr_warning("unable to reserve pmu\n"); | 413 | pr_warning("unable to reserve pmu\n"); |
413 | return err; | 414 | return err; |
@@ -691,6 +692,7 @@ static void __init cpu_pmu_init(struct arm_pmu *armpmu) | |||
691 | raw_spin_lock_init(&events->pmu_lock); | 692 | raw_spin_lock_init(&events->pmu_lock); |
692 | } | 693 | } |
693 | armpmu->get_hw_events = armpmu_get_cpu_events; | 694 | armpmu->get_hw_events = armpmu_get_cpu_events; |
695 | armpmu->type = ARM_PMU_DEVICE_CPU; | ||
694 | } | 696 | } |
695 | 697 | ||
696 | /* | 698 | /* |