aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-samsung/pm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-samsung/pm.c')
-rw-r--r--arch/arm/plat-samsung/pm.c9
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
233void (*pm_cpu_prep)(void); 234void (*pm_cpu_prep)(void);
234void (*pm_cpu_sleep)(void); 235int (*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