diff options
author | Eric Miao <eric.y.miao@gmail.com> | 2010-06-13 12:43:00 -0400 |
---|---|---|
committer | Eric Miao <eric.y.miao@gmail.com> | 2010-08-05 02:32:19 -0400 |
commit | 09a5358d1ed3e023313e551599bb547edfbf1cbf (patch) | |
tree | 73c0ceda221100f19e560aff0ff4866949f8cd13 | |
parent | 1b84387ac12b42b09315c6c1d176588de4b2e46f (diff) |
[ARM] pxa: move pmu device back into mach-pxa/
Not tested and enabled on MMP at this moment, and since the IRQ
is different from mach-pxa, I'd prefer to move the PMU device
back into mach-pxa/. Will introduce the PMU device to MMP once
it's enabled and tested.
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
-rw-r--r-- | arch/arm/mach-pxa/devices.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-pxa/devices.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa25x.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa3xx.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-pxa/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-pxa/pmu.c | 33 |
7 files changed, 18 insertions, 34 deletions
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index 8e10db148f1b..65447dc736c2 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/platform_device.h> | 4 | #include <linux/platform_device.h> |
5 | #include <linux/dma-mapping.h> | 5 | #include <linux/dma-mapping.h> |
6 | 6 | ||
7 | #include <asm/pmu.h> | ||
7 | #include <mach/udc.h> | 8 | #include <mach/udc.h> |
8 | #include <mach/pxafb.h> | 9 | #include <mach/pxafb.h> |
9 | #include <mach/mmc.h> | 10 | #include <mach/mmc.h> |
@@ -31,6 +32,19 @@ void __init pxa_register_device(struct platform_device *dev, void *data) | |||
31 | dev_err(&dev->dev, "unable to register device: %d\n", ret); | 32 | dev_err(&dev->dev, "unable to register device: %d\n", ret); |
32 | } | 33 | } |
33 | 34 | ||
35 | static struct resource pxa_resource_pmu = { | ||
36 | .start = IRQ_PMU, | ||
37 | .end = IRQ_PMU, | ||
38 | .flags = IORESOURCE_IRQ, | ||
39 | }; | ||
40 | |||
41 | struct platform_device pxa_device_pmu = { | ||
42 | .name = "arm-pmu", | ||
43 | .id = ARM_PMU_DEVICE_CPU, | ||
44 | .resource = &pxa_resource_pmu, | ||
45 | .num_resources = 1, | ||
46 | }; | ||
47 | |||
34 | static struct resource pxamci_resources[] = { | 48 | static struct resource pxamci_resources[] = { |
35 | [0] = { | 49 | [0] = { |
36 | .start = 0x41100000, | 50 | .start = 0x41100000, |
diff --git a/arch/arm/mach-pxa/devices.h b/arch/arm/mach-pxa/devices.h index 93817d99761e..50353ea49ba4 100644 --- a/arch/arm/mach-pxa/devices.h +++ b/arch/arm/mach-pxa/devices.h | |||
@@ -1,3 +1,4 @@ | |||
1 | extern struct platform_device pxa_device_pmu; | ||
1 | extern struct platform_device pxa_device_mci; | 2 | extern struct platform_device pxa_device_mci; |
2 | extern struct platform_device pxa3xx_device_mci2; | 3 | extern struct platform_device pxa3xx_device_mci2; |
3 | extern struct platform_device pxa3xx_device_mci3; | 4 | extern struct platform_device pxa3xx_device_mci3; |
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 0b9ad30bfd51..de53f2e4aa39 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -322,6 +322,7 @@ void __init pxa26x_init_irq(void) | |||
322 | 322 | ||
323 | static struct platform_device *pxa25x_devices[] __initdata = { | 323 | static struct platform_device *pxa25x_devices[] __initdata = { |
324 | &pxa25x_device_udc, | 324 | &pxa25x_device_udc, |
325 | &pxa_device_pmu, | ||
325 | &pxa_device_i2s, | 326 | &pxa_device_i2s, |
326 | &sa1100_device_rtc, | 327 | &sa1100_device_rtc, |
327 | &pxa25x_device_ssp, | 328 | &pxa25x_device_ssp, |
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 0af36177ff08..c3d53dd99216 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -383,6 +383,7 @@ void __init pxa27x_set_i2c_power_info(struct i2c_pxa_platform_data *info) | |||
383 | 383 | ||
384 | static struct platform_device *devices[] __initdata = { | 384 | static struct platform_device *devices[] __initdata = { |
385 | &pxa27x_device_udc, | 385 | &pxa27x_device_udc, |
386 | &pxa_device_pmu, | ||
386 | &pxa_device_i2s, | 387 | &pxa_device_i2s, |
387 | &sa1100_device_rtc, | 388 | &sa1100_device_rtc, |
388 | &pxa_device_rtc, | 389 | &pxa_device_rtc, |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index c18d2dfa3faf..acfa9f72657b 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -608,6 +608,7 @@ void __init pxa3xx_set_i2c_power_info(struct i2c_pxa_platform_data *info) | |||
608 | 608 | ||
609 | static struct platform_device *devices[] __initdata = { | 609 | static struct platform_device *devices[] __initdata = { |
610 | &pxa27x_device_udc, | 610 | &pxa27x_device_udc, |
611 | &pxa_device_pmu, | ||
611 | &pxa_device_i2s, | 612 | &pxa_device_i2s, |
612 | &sa1100_device_rtc, | 613 | &sa1100_device_rtc, |
613 | &pxa_device_rtc, | 614 | &pxa_device_rtc, |
diff --git a/arch/arm/plat-pxa/Makefile b/arch/arm/plat-pxa/Makefile index a17cc0c6a6b0..4aacdd12c9cc 100644 --- a/arch/arm/plat-pxa/Makefile +++ b/arch/arm/plat-pxa/Makefile | |||
@@ -4,7 +4,6 @@ | |||
4 | 4 | ||
5 | obj-y := dma.o | 5 | obj-y := dma.o |
6 | 6 | ||
7 | obj-$(CONFIG_ARCH_PXA) += pmu.o | ||
8 | obj-$(CONFIG_GENERIC_GPIO) += gpio.o | 7 | obj-$(CONFIG_GENERIC_GPIO) += gpio.o |
9 | obj-$(CONFIG_PXA3xx) += mfp.o | 8 | obj-$(CONFIG_PXA3xx) += mfp.o |
10 | obj-$(CONFIG_ARCH_MMP) += mfp.o | 9 | obj-$(CONFIG_ARCH_MMP) += mfp.o |
diff --git a/arch/arm/plat-pxa/pmu.c b/arch/arm/plat-pxa/pmu.c deleted file mode 100644 index 267ceb6feb2f..000000000000 --- a/arch/arm/plat-pxa/pmu.c +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | /* | ||
2 | * PMU IRQ registration for the PXA 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 | |||
15 | static struct resource pmu_resource = { | ||
16 | .start = IRQ_PMU, | ||
17 | .end = IRQ_PMU, | ||
18 | .flags = IORESOURCE_IRQ, | ||
19 | }; | ||
20 | |||
21 | static struct platform_device pmu_device = { | ||
22 | .name = "arm-pmu", | ||
23 | .id = ARM_PMU_DEVICE_CPU, | ||
24 | .resource = &pmu_resource, | ||
25 | .num_resources = 1, | ||
26 | }; | ||
27 | |||
28 | static int __init pxa_pmu_init(void) | ||
29 | { | ||
30 | platform_device_register(&pmu_device); | ||
31 | return 0; | ||
32 | } | ||
33 | arch_initcall(pxa_pmu_init); | ||