arm: perf: add more specific platform device IDs
authorMark Rutland <mark.rutland@arm.com>
Thu, 22 May 2014 10:49:18 +0000 (11:49 +0100)
committerWill Deacon <will.deacon@arm.com>
Wed, 2 Jul 2014 14:48:26 +0000 (15:48 +0100)
When described in DT, PMUs are given specific compatible strings
(e.g. "arm,cortex-a15-pmu") which makes it very easy to reorganise the
way individual PMUs are handled (i.e. we can easily split them into
separate drivers). The same is not true of PMUs described in board
files, which are all use the platform_device_id "arm-pmu" and must all
be handled by the same driver.

To enable splitting the ARMv6, ARMv7, and XScale PMU drivers we need
board files to identify which variant they provide. As a first step,
this patch adds new platform_device_id values: "armv6-pmu", "armv7-pmu,
and "xscale-pmu".

Once board files are moved over and all existing uses of "arm-pmu" are
gone, we can split the existing driver apart.

Acked-by: Will Deacon <will.deacon@arm.com>
Tested-by: Christopher Covington <cov@codeaurora.org>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/kernel/perf_event_cpu.c

index 191aff0295c3351b71037eec9ce5c41d0714af81..c63dc4201a7fd72354ff5842833157cb7741551c 100644 (file)
@@ -241,6 +241,9 @@ static struct of_device_id cpu_pmu_of_device_ids[] = {
 
 static struct platform_device_id cpu_pmu_plat_device_ids[] = {
        {.name = "arm-pmu"},
+       {.name = "armv6-pmu"},
+       {.name = "armv7-pmu"},
+       {.name = "xscale-pmu"},
        {},
 };