diff options
author | Mark Rutland <mark.rutland@arm.com> | 2015-05-13 17:12:24 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-05-27 16:12:36 +0100 |
commit | 64d0d3943e14653fcfd5f9b3bd585bc77fa053df (patch) | |
tree | d5152178308167d65baf96daa3cfefebbadb1f69 /arch/arm/kernel | |
parent | d06f23e7637343bb6dfdb5dd216e421be1a893d8 (diff) | |
download | op-kernel-dev-64d0d3943e14653fcfd5f9b3bd585bc77fa053df.zip op-kernel-dev-64d0d3943e14653fcfd5f9b3bd585bc77fa053df.tar.gz |
arm: perf: make of_pmu_irq_cfg take arm_pmu
To support multiple PMUs we'll need to pass the arm_pmu instance around.
Update of_pmu_irq_cfg to take an arm_pmu, and acquire the platform
device from this.
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/perf_event_cpu.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/kernel/perf_event_cpu.c b/arch/arm/kernel/perf_event_cpu.c index 91c7ba1..2a9003e 100644 --- a/arch/arm/kernel/perf_event_cpu.c +++ b/arch/arm/kernel/perf_event_cpu.c @@ -301,9 +301,10 @@ static int probe_current_pmu(struct arm_pmu *pmu) return ret; } -static int of_pmu_irq_cfg(struct platform_device *pdev) +static int of_pmu_irq_cfg(struct arm_pmu *pmu) { int i; + struct platform_device *pdev = pmu->plat_device; int *irqs = kcalloc(pdev->num_resources, sizeof(*irqs), GFP_KERNEL); if (!irqs) @@ -336,7 +337,7 @@ static int of_pmu_irq_cfg(struct platform_device *pdev) } if (i == pdev->num_resources) - cpu_pmu->irq_affinity = irqs; + pmu->irq_affinity = irqs; else kfree(irqs); @@ -368,7 +369,7 @@ static int cpu_pmu_device_probe(struct platform_device *pdev) if (node && (of_id = of_match_node(cpu_pmu_of_device_ids, pdev->dev.of_node))) { init_fn = of_id->data; - ret = of_pmu_irq_cfg(pdev); + ret = of_pmu_irq_cfg(pmu); if (!ret) ret = init_fn(pmu); } else { |