| Will Deacon | de4338f | 2010-04-09 13:57:02 +0100 | [diff] [blame] | 1 | /* | 
 | 2 |  * PMU IRQ registration for the iop3xx xscale PMU families. | 
 | 3 |  * Copyright (C) 2010 Will Deacon, ARM Ltd. | 
 | 4 |  * | 
 | 5 |  * This program is free software; you can redistribute it and/or modify | 
 | 6 |  * it under the terms of the GNU General Public License version 2 as | 
 | 7 |  * published by the Free Software Foundation. | 
 | 8 |  * | 
 | 9 |  */ | 
 | 10 |  | 
 | 11 | #include <linux/platform_device.h> | 
 | 12 | #include <asm/pmu.h> | 
 | 13 | #include <mach/irqs.h> | 
 | 14 |  | 
 | 15 | static struct resource pmu_resource = { | 
 | 16 | #ifdef CONFIG_ARCH_IOP32X | 
 | 17 | 	.start	= IRQ_IOP32X_CORE_PMU, | 
 | 18 | 	.end	= IRQ_IOP32X_CORE_PMU, | 
 | 19 | #endif | 
 | 20 | #ifdef CONFIG_ARCH_IOP33X | 
 | 21 | 	.start	= IRQ_IOP33X_CORE_PMU, | 
 | 22 | 	.end	= IRQ_IOP33X_CORE_PMU, | 
 | 23 | #endif | 
 | 24 | 	.flags	= IORESOURCE_IRQ, | 
 | 25 | }; | 
 | 26 |  | 
 | 27 | static struct platform_device pmu_device = { | 
 | 28 | 	.name		= "arm-pmu", | 
 | 29 | 	.id		= ARM_PMU_DEVICE_CPU, | 
 | 30 | 	.resource	= &pmu_resource, | 
 | 31 | 	.num_resources	= 1, | 
 | 32 | }; | 
 | 33 |  | 
 | 34 | static int __init iop3xx_pmu_init(void) | 
 | 35 | { | 
 | 36 | 	platform_device_register(&pmu_device); | 
 | 37 | 	return 0; | 
 | 38 | } | 
 | 39 |  | 
 | 40 | arch_initcall(iop3xx_pmu_init); |