瀏覽代碼

[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>
Pavel Machek 16 年之前
父節點
當前提交
51cdd9289d
共有 3 個文件被更改,包括 6 次插入2 次删除
  1. 2 0
      arch/arm/mach-pxa/include/mach/pm.h
  2. 2 2
      arch/arm/mach-pxa/pm.c
  3. 2 0
      arch/arm/mach-pxa/sharpsl_pm.c

+ 2 - 0
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 void pxa_cpu_resume(void);
 
 
 extern int pxa_pm_enter(suspend_state_t state);
 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
 /* 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
  * ugly, but let's keep the crap minimum here, instead of direct

+ 2 - 2
arch/arm/mach-pxa/pm.c

@@ -79,7 +79,7 @@ static int pxa_pm_valid(suspend_state_t state)
 	return -EINVAL;
 	return -EINVAL;
 }
 }
 
 
-static int pxa_pm_prepare(void)
+int pxa_pm_prepare(void)
 {
 {
 	int ret = 0;
 	int ret = 0;
 
 
@@ -89,7 +89,7 @@ static int pxa_pm_prepare(void)
 	return ret;
 	return ret;
 }
 }
 
 
-static void pxa_pm_finish(void)
+void pxa_pm_finish(void)
 {
 {
 	if (pxa_cpu_pm_fns && pxa_cpu_pm_fns->finish)
 	if (pxa_cpu_pm_fns && pxa_cpu_pm_fns->finish)
 		pxa_cpu_pm_fns->finish();
 		pxa_cpu_pm_fns->finish();

+ 2 - 0
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
 #ifdef CONFIG_PM
 static struct platform_suspend_ops sharpsl_pm_ops = {
 static struct platform_suspend_ops sharpsl_pm_ops = {
+	.prepare	= pxa_pm_prepare,
+	.finish		= pxa_pm_finish,
 	.enter		= corgi_pxa_pm_enter,
 	.enter		= corgi_pxa_pm_enter,
 	.valid		= suspend_valid_only_mem,
 	.valid		= suspend_valid_only_mem,
 };
 };