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
15static 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
27static 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
34static int __init iop3xx_pmu_init(void)
35{
36	platform_device_register(&pmu_device);
37	return 0;
38}
39
40arch_initcall(iop3xx_pmu_init);
41