From: 黄涛 Date: Thu, 30 Aug 2012 03:19:56 +0000 (+0800) Subject: rk3066b: register arm-pmu device X-Git-Tag: firefly_0821_release~8765^2~20 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=79618d295fd844a2de4d66811367042506f4d9f0;p=firefly-linux-kernel-4.4.55.git rk3066b: register arm-pmu device --- 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