diff options
author | codeworkx <daniel.hillenbrand@codeworkx.de> | 2012-06-02 13:09:29 +0200 |
---|---|---|
committer | codeworkx <daniel.hillenbrand@codeworkx.de> | 2012-06-02 13:09:29 +0200 |
commit | c6da2cfeb05178a11c6d062a06f8078150ee492f (patch) | |
tree | f3b4021d252c52d6463a9b3c1bb7245e399b009c /arch/arm/plat-s5p/dev-pmu.c | |
parent | c6d7c4dbff353eac7919342ae6b3299a378160a6 (diff) | |
download | kernel_samsung_smdk4412-c6da2cfeb05178a11c6d062a06f8078150ee492f.zip kernel_samsung_smdk4412-c6da2cfeb05178a11c6d062a06f8078150ee492f.tar.gz kernel_samsung_smdk4412-c6da2cfeb05178a11c6d062a06f8078150ee492f.tar.bz2 |
samsung update 1
Diffstat (limited to 'arch/arm/plat-s5p/dev-pmu.c')
-rw-r--r-- | arch/arm/plat-s5p/dev-pmu.c | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/arch/arm/plat-s5p/dev-pmu.c b/arch/arm/plat-s5p/dev-pmu.c index a08576d..2880f47 100644 --- a/arch/arm/plat-s5p/dev-pmu.c +++ b/arch/arm/plat-s5p/dev-pmu.c @@ -15,22 +15,49 @@ #include <asm/pmu.h> #include <mach/irqs.h> -static struct resource s5p_pmu_resource = { - .start = IRQ_PMU, - .end = IRQ_PMU, - .flags = IORESOURCE_IRQ, +static struct resource s5p_pmu_resource[] = { + { + .start = IRQ_PMU, + .end = IRQ_PMU, + .flags = IORESOURCE_IRQ, + }, +#if CONFIG_NR_CPUS > 1 + { + .start = IRQ_PMU_CPU1, + .end = IRQ_PMU_CPU1, + .flags = IORESOURCE_IRQ, + }, +#endif +#if CONFIG_NR_CPUS > 2 + { + .start = IRQ_PMU_CPU2, + .end = IRQ_PMU_CPU2, + .flags = IORESOURCE_IRQ, + }, { + .start = IRQ_PMU_CPU3, + .end = IRQ_PMU_CPU3, + .flags = IORESOURCE_IRQ, + }, +#endif }; struct platform_device s5p_device_pmu = { .name = "arm-pmu", .id = ARM_PMU_DEVICE_CPU, - .num_resources = 1, - .resource = &s5p_pmu_resource, + .num_resources = ARRAY_SIZE(s5p_pmu_resource), + .resource = s5p_pmu_resource, }; static int __init s5p_pmu_init(void) { - platform_device_register(&s5p_device_pmu); + int ret; + + ret = platform_device_register(&s5p_device_pmu); + if (ret) { + pr_warning("s5p_pmu_init: pmu device not registered.\n"); + return ret; + } + return 0; } arch_initcall(s5p_pmu_init); |