aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/s3c24xx/patches-2.6.26/0157-The-following-is-a-minor-cleanup-of-backlight-resume.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.26/0157-The-following-is-a-minor-cleanup-of-backlight-resume.patch')
-rwxr-xr-xtarget/linux/s3c24xx/patches-2.6.26/0157-The-following-is-a-minor-cleanup-of-backlight-resume.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.26/0157-The-following-is-a-minor-cleanup-of-backlight-resume.patch b/target/linux/s3c24xx/patches-2.6.26/0157-The-following-is-a-minor-cleanup-of-backlight-resume.patch
new file mode 100755
index 0000000000..c167d2d679
--- /dev/null
+++ b/target/linux/s3c24xx/patches-2.6.26/0157-The-following-is-a-minor-cleanup-of-backlight-resume.patch
@@ -0,0 +1,50 @@
+From eb0d4f1481de79a63f4a630bb874d3234a6ce13b Mon Sep 17 00:00:00 2001
+From: Sean McNeil <sean@mcneil.com>
+Date: Fri, 25 Jul 2008 23:06:11 +0100
+Subject: [PATCH] The following is a minor cleanup of backlight resume:
+
+---
+ drivers/i2c/chips/pcf50633.c | 12 ++++--------
+ 1 files changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
+index e5ffeff..f6886d7 100644
+--- a/drivers/i2c/chips/pcf50633.c
++++ b/drivers/i2c/chips/pcf50633.c
+@@ -2228,8 +2228,9 @@ static int pcf50633_suspend(struct device *dev, pm_message_t state)
+
+ void pcf50633_backlight_resume(struct pcf50633_data *pcf)
+ {
++ /* we force the backlight on in fact */
+ __reg_write(pcf, PCF50633_REG_LEDOUT, pcf->standby_regs.ledout);
+- __reg_write(pcf, PCF50633_REG_LEDENA, pcf->standby_regs.ledena);
++ __reg_write(pcf, PCF50633_REG_LEDENA, pcf->standby_regs.ledena | 0x01);
+ __reg_write(pcf, PCF50633_REG_LEDDIM, pcf->standby_regs.leddim);
+ }
+ EXPORT_SYMBOL_GPL(pcf50633_backlight_resume);
+@@ -2243,8 +2244,6 @@ static int pcf50633_resume(struct device *dev)
+
+ mutex_lock(&pcf->lock);
+
+- __reg_write(pcf, PCF50633_REG_LEDENA, 0x01);
+-
+ /* Resume all saved registers that don't "survive" standby state */
+ __reg_write(pcf, PCF50633_REG_INT1M, pcf->standby_regs.int1m);
+ __reg_write(pcf, PCF50633_REG_INT2M, pcf->standby_regs.int2m);
+@@ -2263,11 +2262,8 @@ static int pcf50633_resume(struct device *dev)
+ __reg_write(pcf, PCF50633_REG_MEMLDOENA, pcf->standby_regs.memldoena);
+
+ /* platform can choose to defer backlight bringup */
+- if (!pcf->pdata->defer_resume_backlight) {
+- __reg_write(pcf, PCF50633_REG_LEDOUT, pcf->standby_regs.ledout);
+- __reg_write(pcf, PCF50633_REG_LEDENA, pcf->standby_regs.ledena);
+- __reg_write(pcf, PCF50633_REG_LEDDIM, pcf->standby_regs.leddim);
+- }
++ if (!pcf->pdata->defer_resume_backlight)
++ pcf50633_backlight_resume(pcf);
+
+ /* FIXME: one big read? */
+ for (i = 0; i < 7; i++) {
+--
+1.5.6.3
+