diff options
author | Pavel Machek <pavel@ucw.cz> | 2009-06-11 23:25:09 +0800 |
---|---|---|
committer | Eric Miao <eric.y.miao@gmail.com> | 2009-06-11 23:25:09 +0800 |
commit | 51cdd9289d2e0d83eb32ed6d7a42596b02bf924e (patch) | |
tree | c133ea6b4e5b0c61234c742ebcad03a8dd957ff6 /arch | |
parent | d5af27783f8c898b64f7079908ad3e27632a71ea (diff) | |
download | linux-stable-51cdd9289d2e0d83eb32ed6d7a42596b02bf924e.tar.gz linux-stable-51cdd9289d2e0d83eb32ed6d7a42596b02bf924e.tar.bz2 linux-stable-51cdd9289d2e0d83eb32ed6d7a42596b02bf924e.zip |
[ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines
For suspend/resume to work, spitz needs pxa_pm_suspend/resume to be
called. Otherwise PSPR is not set properly, and system will die during
resume.
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-pxa/include/mach/pm.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pm.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/sharpsl_pm.c | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-pxa/include/mach/pm.h b/arch/arm/mach-pxa/include/mach/pm.h index a6eeef8a075f..fd8360c6839d 100644 --- a/arch/arm/mach-pxa/include/mach/pm.h +++ b/arch/arm/mach-pxa/include/mach/pm.h @@ -27,6 +27,8 @@ extern void pxa27x_cpu_suspend(unsigned int); extern void pxa_cpu_resume(void); extern int pxa_pm_enter(suspend_state_t state); +extern int pxa_pm_prepare(void); +extern void pxa_pm_finish(void); /* NOTE: this is for PM debugging on Lubbock, it's really a big * ugly, but let's keep the crap minimum here, instead of direct diff --git a/arch/arm/mach-pxa/pm.c b/arch/arm/mach-pxa/pm.c index 884b174c8ead..7693355ee637 100644 --- a/arch/arm/mach-pxa/pm.c +++ b/arch/arm/mach-pxa/pm.c @@ -79,7 +79,7 @@ static int pxa_pm_valid(suspend_state_t state) return -EINVAL; } -static int pxa_pm_prepare(void) +int pxa_pm_prepare(void) { int ret = 0; @@ -89,7 +89,7 @@ static int pxa_pm_prepare(void) return ret; } -static void pxa_pm_finish(void) +void pxa_pm_finish(void) { if (pxa_cpu_pm_fns && pxa_cpu_pm_fns->finish) pxa_cpu_pm_fns->finish(); diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c index dfac7b9a7352..2546c066cd6e 100644 --- a/arch/arm/mach-pxa/sharpsl_pm.c +++ b/arch/arm/mach-pxa/sharpsl_pm.c @@ -892,6 +892,8 @@ static void sharpsl_apm_get_power_status(struct apm_power_info *info) #ifdef CONFIG_PM static struct platform_suspend_ops sharpsl_pm_ops = { + .prepare = pxa_pm_prepare, + .finish = pxa_pm_finish, .enter = corgi_pxa_pm_enter, .valid = suspend_valid_only_mem, }; |