ARM: pm: sa1100: move cpu_suspend into C code
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 21 Jun 2011 15:26:29 +0000 (16:26 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 24 Jun 2011 07:48:43 +0000 (08:48 +0100)
We don't need a veneer for cpu_suspend, it can be called directly from
C code now.  Move it into sa11x0_pm_enter() along with the re-enabling
of clock switching.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-sa1100/pm.c
arch/arm/mach-sa1100/sleep.S

index d35885c..259ed3b 100644 (file)
@@ -32,7 +32,7 @@
 #include <asm/system.h>
 #include <asm/mach/time.h>
 
-extern void sa1100_cpu_suspend(long);
+extern void sa1100_finish_suspend(unsigned long);
 
 #define SAVE(x)                sleep_save[SLEEP_SAVE_##x] = x
 #define RESTORE(x)     x = sleep_save[SLEEP_SAVE_##x]
@@ -75,7 +75,7 @@ static int sa11x0_pm_enter(suspend_state_t state)
        PSPR = virt_to_phys(cpu_resume);
 
        /* go zzz */
-       sa1100_cpu_suspend(PLAT_PHYS_OFFSET - PAGE_OFFSET);
+       cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, 0, sa1100_finish_suspend);
 
        /*
         * Ensure not to come back here if it wasn't intended
index f3fe397..e822331 100644 (file)
 
                .text
 /*
- * sa1100_cpu_suspend()
+ * sa1100_finish_suspend()
  *
  * Causes sa11x0 to enter sleep state
  *
  */
 
-ENTRY(sa1100_cpu_suspend)
-       stmfd   sp!, {r4 - r12, lr}             @ save registers on stack
-       mov     r1, r0
-       adr     r3, BSYM(sa1100_finish_suspend)
-       bl      cpu_suspend
-       ldmfd   sp!, {r4 - r12, pc}             @ return to caller
-
-sa1100_finish_suspend:
+ENTRY(sa1100_finish_suspend)
        @ disable clock switching
        mcr     p15, 0, r1, c15, c2, 2