diff options
author | Ben Dooks <ben-linux@fluff.org> | 2009-03-10 12:48:07 +0100 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-03-10 12:48:07 +0100 |
commit | fff94cd9f5527bbba13aa5ea5719d16531ca8e65 (patch) | |
tree | bddf3ef686410872d8da882688229688710d574b /arch/arm/plat-s3c/include | |
parent | [ARM] S3C: Do not kmalloc/kfree during inner suspend code. (diff) | |
download | linux-fff94cd9f5527bbba13aa5ea5719d16531ca8e65.tar.xz linux-fff94cd9f5527bbba13aa5ea5719d16531ca8e65.zip |
[ARM] S3C: Tidy sleep code path to fix call flow
As noted by Russell King, the sleep code path is not
elegant and makes use of leaving items on the stack
between calls.
Change the code that does the following:
if (s3c_cpu_save(regs_save) == 0) {
flush_cache_all();
S3C_PMDBG("preparing to sleep\n");
pm_cpu_sleep();
}
to simply call s3c_cpu_save, and let that do the
necessary calls to quiesce and sleep the system.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/plat-s3c/include')
-rw-r--r-- | arch/arm/plat-s3c/include/plat/pm.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/plat-s3c/include/plat/pm.h b/arch/arm/plat-s3c/include/plat/pm.h index 5ee26da27028..3779775133a9 100644 --- a/arch/arm/plat-s3c/include/plat/pm.h +++ b/arch/arm/plat-s3c/include/plat/pm.h @@ -162,5 +162,13 @@ extern void s3c_pm_restore_gpios(void); */ extern void s3c_pm_save_gpios(void); +/** + * s3c_pm_cb_flushcache - callback for assembly code + * + * Callback to issue flush_cache_all() as this call is + * not a directly callable object. + */ +extern void s3c_pm_cb_flushcache(void); + extern void s3c_pm_save_core(void); extern void s3c_pm_restore_core(void); |