diff options
Diffstat (limited to 'arch/arm/mach-pxa/pxa27x.c')
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 1939acc3f9f7..be6ca7d3afa2 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <asm/irq.h> | 21 | #include <asm/irq.h> |
22 | #include <asm/arch/pxa-regs.h> | 22 | #include <asm/arch/pxa-regs.h> |
23 | #include <asm/arch/ohci.h> | 23 | #include <asm/arch/ohci.h> |
24 | #include <asm/arch/pm.h> | ||
24 | 25 | ||
25 | #include "generic.h" | 26 | #include "generic.h" |
26 | 27 | ||
@@ -122,7 +123,7 @@ EXPORT_SYMBOL(get_lcdclk_frequency_10khz); | |||
122 | 123 | ||
123 | #ifdef CONFIG_PM | 124 | #ifdef CONFIG_PM |
124 | 125 | ||
125 | int pxa_cpu_pm_prepare(suspend_state_t state) | 126 | int pxa_pm_prepare(suspend_state_t state) |
126 | { | 127 | { |
127 | switch (state) { | 128 | switch (state) { |
128 | case PM_SUSPEND_MEM: | 129 | case PM_SUSPEND_MEM: |
@@ -162,6 +163,11 @@ void pxa_cpu_pm_enter(suspend_state_t state) | |||
162 | } | 163 | } |
163 | } | 164 | } |
164 | 165 | ||
166 | static struct pm_ops pxa27x_pm_ops = { | ||
167 | .prepare = pxa_pm_prepare, | ||
168 | .enter = pxa_pm_enter, | ||
169 | .valid = pm_valid_only_mem, | ||
170 | }; | ||
165 | #endif | 171 | #endif |
166 | 172 | ||
167 | /* | 173 | /* |
@@ -205,7 +211,14 @@ static struct platform_device *devices[] __initdata = { | |||
205 | 211 | ||
206 | static int __init pxa27x_init(void) | 212 | static int __init pxa27x_init(void) |
207 | { | 213 | { |
208 | return platform_add_devices(devices, ARRAY_SIZE(devices)); | 214 | int ret = 0; |
215 | if (cpu_is_pxa27x()) { | ||
216 | #ifdef CONFIG_PM | ||
217 | pm_set_ops(&pxa27x_pm_ops); | ||
218 | #endif | ||
219 | ret = platform_add_devices(devices, ARRAY_SIZE(devices)); | ||
220 | } | ||
221 | return ret; | ||
209 | } | 222 | } |
210 | 223 | ||
211 | subsys_initcall(pxa27x_init); | 224 | subsys_initcall(pxa27x_init); |