Browse Source

Do not suspend the regulator.

SVN-Revision: 14767
Lars-Peter Clausen 17 years ago
parent
commit
f8509356a2
1 changed files with 65 additions and 0 deletions
  1. 65 0
      target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch

+ 65 - 0
target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch

@@ -0,0 +1,65 @@
+From: Balaji Rao <[email protected]>
+Date: Mon, 5 Jan 2009 10:33:28 +0000 (+0000)
+Subject: pcf50633 remove suspend_enable/disable regulator functions
+X-Git-Tag: fork-to-stable-2.6.29-rc2~142
+X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=276709515c384f4239c9479b56fcf008ae37eec8
+
+pcf50633 remove suspend_enable/disable regulator functions
+
+Since we don't switch to PMU.standby, on suspend we should not
+be defining these.
+
+Btw, this fixes the WSOD I observed on andy-tracking and also
+gets rid of the regulator related backtrace seen upon resume.
+
+Signed-off-by: Balaji Rao <[email protected]>
+---
+
+diff --git a/arch/arm/plat-s3c/pm.c b/arch/arm/plat-s3c/pm.c
+index 422dea2..889f191 100644
+--- a/arch/arm/plat-s3c/pm.c
++++ b/arch/arm/plat-s3c/pm.c
+@@ -18,7 +18,6 @@
+ #include <linux/delay.h>
+ #include <linux/serial_core.h>
+ #include <linux/io.h>
+-#include <linux/regulator/machine.h>
+ 
+ #include <asm/cacheflush.h>
+ #include <mach/hardware.h>
+@@ -353,22 +352,11 @@ static void s3c_pm_finish(void)
+ 	s3c_pm_check_cleanup();
+ }
+ 
+-static int s3c_pm_begin(suspend_state_t state)
+-{
+-        int ret = 0;
+-
+-#ifdef CONFIG_REGULATOR
+-        ret = regulator_suspend_prepare(state);
+-#endif
+-        return ret;
+-}
+-
+ static struct platform_suspend_ops s3c_pm_ops = {
+ 	.enter		= s3c_pm_enter,
+ 	.prepare	= s3c_pm_prepare,
+ 	.finish		= s3c_pm_finish,
+ 	.valid		= suspend_valid_only_mem,
+-	.begin		= s3c_pm_begin,
+ };
+ 
+ /* s3c_pm_init
+diff --git a/drivers/regulator/pcf50633-regulator.c b/drivers/regulator/pcf50633-regulator.c
+index 343f43e..d284200 100644
+--- a/drivers/regulator/pcf50633-regulator.c
++++ b/drivers/regulator/pcf50633-regulator.c
+@@ -249,8 +249,6 @@ struct regulator_ops pcf50633_regulator_ops = {
+ 	.enable = pcf50633_regulator_enable,
+ 	.disable = pcf50633_regulator_disable,
+ 	.is_enabled = pcf50633_regulator_is_enabled,
+-	.set_suspend_enable = pcf50633_regulator_enable,
+-	.set_suspend_disable = pcf50633_regulator_disable,
+ };
+ 
+ static struct regulator_desc regulators[] = {