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 
iop3xx_pmu_init(void)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);
41