Skip to content

Commit

Permalink
arm: perf: make of_pmu_irq_cfg take arm_pmu
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Mark Rutland authored and Will Deacon committed May 27, 2015
1 parent d06f23e commit 64d0d39
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions arch/arm/kernel/perf_event_cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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);

Expand Down Expand Up @@ -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 {
Expand Down

0 comments on commit 64d0d39

Please sign in to comment.