Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 64d0d394 authored by Mark Rutland's avatar Mark Rutland Committed by Will Deacon
Browse files

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: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent d06f23e7
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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 {