diff options
Diffstat (limited to 'kernel/arch/arm/plat-iop/pmu.c')
-rw-r--r-- | kernel/arch/arm/plat-iop/pmu.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/kernel/arch/arm/plat-iop/pmu.c b/kernel/arch/arm/plat-iop/pmu.c new file mode 100644 index 000000000..c6d979ace --- /dev/null +++ b/kernel/arch/arm/plat-iop/pmu.c @@ -0,0 +1,39 @@ +/* + * PMU IRQ registration for the iop3xx xscale PMU families. + * Copyright (C) 2010 Will Deacon, ARM Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + */ + +#include <linux/platform_device.h> +#include <mach/irqs.h> + +static struct resource pmu_resource = { +#ifdef CONFIG_ARCH_IOP32X + .start = IRQ_IOP32X_CORE_PMU, + .end = IRQ_IOP32X_CORE_PMU, +#endif +#ifdef CONFIG_ARCH_IOP33X + .start = IRQ_IOP33X_CORE_PMU, + .end = IRQ_IOP33X_CORE_PMU, +#endif + .flags = IORESOURCE_IRQ, +}; + +static struct platform_device pmu_device = { + .name = "xscale-pmu", + .id = -1, + .resource = &pmu_resource, + .num_resources = 1, +}; + +static int __init iop3xx_pmu_init(void) +{ + platform_device_register(&pmu_device); + return 0; +} + +arch_initcall(iop3xx_pmu_init); |