[ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines
authorPavel Machek <pavel@ucw.cz>
Thu, 11 Jun 2009 15:25:09 +0000 (23:25 +0800)
committerEric Miao <eric.y.miao@gmail.com>
Thu, 11 Jun 2009 15:25:09 +0000 (23:25 +0800)
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>
arch/arm/mach-pxa/include/mach/pm.h
arch/arm/mach-pxa/pm.c
arch/arm/mach-pxa/sharpsl_pm.c

index a6eeef8..fd8360c 100644 (file)
@@ -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
index 884b174..7693355 100644 (file)
@@ -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();
index dfac7b9..2546c06 100644 (file)
@@ -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,
 };