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