浏览代码

arm: perf: add more specific platform device IDs

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>
Mark Rutland 11 年之前
父节点
当前提交
253d8c3d25
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      arch/arm/kernel/perf_event_cpu.c

+ 3 - 0
arch/arm/kernel/perf_event_cpu.c

@@ -241,6 +241,9 @@ static struct of_device_id cpu_pmu_of_device_ids[] = {
 
 
 static struct platform_device_id cpu_pmu_plat_device_ids[] = {
 static struct platform_device_id cpu_pmu_plat_device_ids[] = {
 	{.name = "arm-pmu"},
 	{.name = "arm-pmu"},
+	{.name = "armv6-pmu"},
+	{.name = "armv7-pmu"},
+	{.name = "xscale-pmu"},
 	{},
 	{},
 };
 };