From 79618d295fd844a2de4d66811367042506f4d9f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Thu, 30 Aug 2012 11:19:56 +0800 Subject: [PATCH] rk3066b: register arm-pmu device --- arch/arm/mach-rk30/devices.c | 15 +++++++++++++++ arch/arm/mach-rk30/include/mach/irqs.h | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-rk30/devices.c b/arch/arm/mach-rk30/devices.c index 41a02d479b61..8a9f0b4b1b2a 100755 --- a/arch/arm/mach-rk30/devices.c +++ b/arch/arm/mach-rk30/devices.c @@ -1349,6 +1349,19 @@ static struct platform_device device_wdt = { }; #endif +static struct resource resource_arm_pmu = { + .start = IRQ_ARM_PMU, + .end = IRQ_ARM_PMU, + .flags = IORESOURCE_IRQ, +}; + +struct platform_device device_arm_pmu = { + .name = "arm-pmu", + .id = ARM_PMU_DEVICE_CPU, + .num_resources = 1, + .resource = &resource_arm_pmu, +}; + static int __init rk30_init_devices(void) { rk30_init_dma(); @@ -1400,6 +1413,8 @@ static int __init rk30_init_devices(void) #ifdef CONFIG_RK29_WATCHDOG platform_device_register(&device_wdt); #endif + platform_device_register(&device_arm_pmu); + return 0; } arch_initcall(rk30_init_devices); diff --git a/arch/arm/mach-rk30/include/mach/irqs.h b/arch/arm/mach-rk30/include/mach/irqs.h index 9dc6a6157094..99f400950826 100644 --- a/arch/arm/mach-rk30/include/mach/irqs.h +++ b/arch/arm/mach-rk30/include/mach/irqs.h @@ -81,7 +81,6 @@ #define IRQ_PMU_STOP_EXIT_INT RK30XX_IRQ(69) #define IRQ_OBSERVER_MAINFAULT RK30XX_IRQ(70) #define IRQ_VPU_OBSRV_MAINFAULT RK30XX_IRQ(71) -#define IRQ_ARM_PMU 103 #define IRQ_PERI_OBSRV_MAINFAULT RK30XX_IRQ(72) #define IRQ_VIO1_OBSRV_MAINFAULT RK30XX_IRQ(73) #define IRQ_VIO0_OBSRV_MAINFAULT RK30XX_IRQ(74) @@ -93,6 +92,8 @@ #define IRQ_DEBUG_UART (IRQ_UART0 + CONFIG_RK_DEBUG_UART) #endif +#define IRQ_ARM_PMU RK30XX_IRQ(103) + #define NR_GIC_IRQS (5 * 32) #define NR_GPIO_IRQS (6 * 32) #define NR_BOARD_IRQS 64 -- 2.34.1