diff options
Diffstat (limited to 'arch/arm/plat-samsung/pm.c')
-rw-r--r-- | arch/arm/plat-samsung/pm.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/plat-samsung/pm.c b/arch/arm/plat-samsung/pm.c index 5c0a440d6e1..138e24774f7 100644 --- a/arch/arm/plat-samsung/pm.c +++ b/arch/arm/plat-samsung/pm.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/io.h> | 20 | #include <linux/io.h> |
21 | 21 | ||
22 | #include <asm/cacheflush.h> | 22 | #include <asm/cacheflush.h> |
23 | #include <asm/suspend.h> | ||
23 | #include <mach/hardware.h> | 24 | #include <mach/hardware.h> |
24 | #include <mach/map.h> | 25 | #include <mach/map.h> |
25 | 26 | ||
@@ -231,7 +232,7 @@ static void __maybe_unused s3c_pm_show_resume_irqs(int start, | |||
231 | 232 | ||
232 | 233 | ||
233 | void (*pm_cpu_prep)(void); | 234 | void (*pm_cpu_prep)(void); |
234 | void (*pm_cpu_sleep)(void); | 235 | int (*pm_cpu_sleep)(unsigned long); |
235 | 236 | ||
236 | #define any_allowed(mask, allow) (((mask) & (allow)) != (allow)) | 237 | #define any_allowed(mask, allow) (((mask) & (allow)) != (allow)) |
237 | 238 | ||
@@ -268,6 +269,7 @@ static int s3c_pm_enter(suspend_state_t state) | |||
268 | /* save all necessary core registers not covered by the drivers */ | 269 | /* save all necessary core registers not covered by the drivers */ |
269 | 270 | ||
270 | s3c_pm_save_gpios(); | 271 | s3c_pm_save_gpios(); |
272 | s3c_pm_saved_gpios(); | ||
271 | s3c_pm_save_uarts(); | 273 | s3c_pm_save_uarts(); |
272 | s3c_pm_save_core(); | 274 | s3c_pm_save_core(); |
273 | 275 | ||
@@ -294,11 +296,11 @@ static int s3c_pm_enter(suspend_state_t state) | |||
294 | 296 | ||
295 | s3c_pm_arch_stop_clocks(); | 297 | s3c_pm_arch_stop_clocks(); |
296 | 298 | ||
297 | /* s3c_cpu_save will also act as our return point from when | 299 | /* this will also act as our return point from when |
298 | * we resume as it saves its own register state and restores it | 300 | * we resume as it saves its own register state and restores it |
299 | * during the resume. */ | 301 | * during the resume. */ |
300 | 302 | ||
301 | s3c_cpu_save(0, PLAT_PHYS_OFFSET - PAGE_OFFSET); | 303 | cpu_suspend(0, pm_cpu_sleep); |
302 | 304 | ||
303 | /* restore the cpu state using the kernel's cpu init code. */ | 305 | /* restore the cpu state using the kernel's cpu init code. */ |
304 | 306 | ||
@@ -309,6 +311,7 @@ static int s3c_pm_enter(suspend_state_t state) | |||
309 | s3c_pm_restore_core(); | 311 | s3c_pm_restore_core(); |
310 | s3c_pm_restore_uarts(); | 312 | s3c_pm_restore_uarts(); |
311 | s3c_pm_restore_gpios(); | 313 | s3c_pm_restore_gpios(); |
314 | s3c_pm_restored_gpios(); | ||
312 | 315 | ||
313 | s3c_pm_debug_init(); | 316 | s3c_pm_debug_init(); |
314 | 317 | ||