PCI / PM: Block races between runtime PM and system sleep
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / arch / arm / plat-iop / pmu.c
bloba2024b8685a15a37a0141132bcc49ce8f80aa599
1 /*
2 * PMU IRQ registration for the iop3xx xscale PMU families.
3 * Copyright (C) 2010 Will Deacon, ARM Ltd.
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.
9 */
11 #include <linux/platform_device.h>
12 #include <asm/pmu.h>
13 #include <mach/irqs.h>
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,
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,
34 static int __init iop3xx_pmu_init(void)
36 platform_device_register(&pmu_device);
37 return 0;
40 arch_initcall(iop3xx_pmu_init);