aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch')
-rw-r--r--target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch b/target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch
new file mode 100644
index 0000000000..12204c847b
--- /dev/null
+++ b/target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch
@@ -0,0 +1,65 @@
+From: Balaji Rao <balajirrao@openmoko.org>
+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 <balajirrao@openmoko.org>
+---
+
+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[] = {