From f8509356a24a1c855cfaaa433bc459e65010c806 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Fri, 6 Mar 2009 21:23:34 +0000 Subject: [PATCH] Do not suspend the regulator. SVN-Revision: 14767 --- .../005-dont-suspend-regulator.patch | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch 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 00000000000..12204c847b8 --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.28/005-dont-suspend-regulator.patch @@ -0,0 +1,65 @@ +From: Balaji Rao +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 +--- + +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 + #include + #include +-#include + + #include + #include +@@ -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[] = {