ARM: pm: pxa: move cpu_suspend into C code
We don't need a veneer for cpu_suspend, it can be called directly from C code now. Move it into the PXA CPU suspend functions, along with the accumulator register saving/restoring. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
@@ -284,6 +284,11 @@ void pxa27x_cpu_pm_restore(unsigned long *sleep_save)
|
||||
void pxa27x_cpu_pm_enter(suspend_state_t state)
|
||||
{
|
||||
extern void pxa_cpu_standby(void);
|
||||
#ifndef CONFIG_IWMMXT
|
||||
u64 acc0;
|
||||
|
||||
asm volatile("mra %Q0, %R0, acc0" : "=r" (acc0));
|
||||
#endif
|
||||
|
||||
/* ensure voltage-change sequencer not initiated, which hangs */
|
||||
PCFR &= ~PCFR_FVC;
|
||||
@@ -299,7 +304,11 @@ void pxa27x_cpu_pm_enter(suspend_state_t state)
|
||||
pxa_cpu_standby();
|
||||
break;
|
||||
case PM_SUSPEND_MEM:
|
||||
pxa27x_cpu_suspend(pwrmode, PLAT_PHYS_OFFSET - PAGE_OFFSET);
|
||||
cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, pwrmode,
|
||||
pxa27x_finish_suspend);
|
||||
#ifndef CONFIG_IWMMXT
|
||||
asm volatile("mar acc0, %Q0, %R0" : "=r" (acc0));
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user