From 51cdd9289d2e0d83eb32ed6d7a42596b02bf924e Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Thu, 11 Jun 2009 23:25:09 +0800 Subject: [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 Signed-off-by: Eric Miao --- arch/arm/mach-pxa/include/mach/pm.h | 2 ++ arch/arm/mach-pxa/pm.c | 4 ++-- arch/arm/mach-pxa/sharpsl_pm.c | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-pxa/include/mach/pm.h b/arch/arm/mach-pxa/include/mach/pm.h index a6eeef8a075..fd8360c6839 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 884b174c8ea..7693355ee63 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 dfac7b9a735..2546c066cd6 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, }; -- cgit v1.2.3