diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.26/1179-fix-pcf50633-really-defer-backlight-on-resume.patch.patch')
-rwxr-xr-x | target/linux/s3c24xx/patches-2.6.26/1179-fix-pcf50633-really-defer-backlight-on-resume.patch.patch | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.26/1179-fix-pcf50633-really-defer-backlight-on-resume.patch.patch b/target/linux/s3c24xx/patches-2.6.26/1179-fix-pcf50633-really-defer-backlight-on-resume.patch.patch deleted file mode 100755 index 6c17c69ef6..0000000000 --- a/target/linux/s3c24xx/patches-2.6.26/1179-fix-pcf50633-really-defer-backlight-on-resume.patch.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 568981c881e20fccdbfffb073c3868dcdc012446 Mon Sep 17 00:00:00 2001 -From: Andy Green <andy@openmoko.com> -Date: Fri, 25 Jul 2008 23:06:15 +0100 -Subject: [PATCH] fix-pcf50633-really-defer-backlight-on-resume.patch - -Backlight wasn't off by default on resume, so it was never really -deferred (until LCM is initialized). This fixes that and so removes -the brief white screen between pcf50633 resume and LCM init. - -Signed-off-by: Andy Green <andy@openmoko.com> ---- - drivers/i2c/chips/pcf50633.c | 23 +++++++++++++++++------ - 1 files changed, 17 insertions(+), 6 deletions(-) - -diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c -index 33c4ef4..bbc8ae6 100644 ---- a/drivers/i2c/chips/pcf50633.c -+++ b/drivers/i2c/chips/pcf50633.c -@@ -2474,13 +2474,14 @@ EXPORT_SYMBOL_GPL(pcf50633_ready); - - void pcf50633_backlight_resume(struct pcf50633_data *pcf) - { -+ dev_info(&pcf->client.dev, "pcf50633_backlight_resume\n"); -+ - /* we force the backlight on in fact */ -- __reg_write(pcf, PCF50633_REG_LEDOUT, pcf->standby_regs.misc[ -+ reg_write(pcf, PCF50633_REG_LEDDIM, 1); -+ reg_write(pcf, PCF50633_REG_LEDOUT, pcf->standby_regs.misc[ - PCF50633_REG_LEDOUT - PCF50633_REG_AUTOOUT]); -- __reg_write(pcf, PCF50633_REG_LEDENA, pcf->standby_regs.misc[ -+ reg_write(pcf, PCF50633_REG_LEDENA, pcf->standby_regs.misc[ - PCF50633_REG_LEDENA - PCF50633_REG_AUTOOUT] | 1); -- __reg_write(pcf, PCF50633_REG_LEDDIM, pcf->standby_regs.misc[ -- PCF50633_REG_LEDDIM - PCF50633_REG_AUTOOUT]); - } - EXPORT_SYMBOL_GPL(pcf50633_backlight_resume); - -@@ -2491,6 +2492,7 @@ static int pcf50633_resume(struct device *dev) - struct pcf50633_data *pcf = i2c_get_clientdata(client); - int ret; - u8 res[5]; -+ u8 misc[PCF50633_REG_LEDDIM - PCF50633_REG_AUTOOUT + 1]; - - dev_info(dev, "pcf50633_resume suspended on entry = %d\n", - (int)pcf->suspend_state); -@@ -2502,11 +2504,20 @@ static int pcf50633_resume(struct device *dev) - - __reg_write(pcf, PCF50633_REG_OOCTIM2, pcf->standby_regs.ooctim2); - -+ memcpy(misc, pcf->standby_regs.misc, sizeof(pcf->standby_regs.misc)); -+ -+ if (pcf->pdata->defer_resume_backlight) { -+ misc[PCF50633_REG_LEDOUT - PCF50633_REG_AUTOOUT] = 1; -+ misc[PCF50633_REG_LEDENA - PCF50633_REG_AUTOOUT] = 0x20; -+ misc[PCF50633_REG_LEDCTL - PCF50633_REG_AUTOOUT] = 1; -+ misc[PCF50633_REG_LEDDIM - PCF50633_REG_AUTOOUT] = 1; -+ } -+ - /* regulator voltages and enable states */ - ret = i2c_smbus_write_i2c_block_data(&pcf->client, - PCF50633_REG_AUTOOUT, -- sizeof(pcf->standby_regs.misc) - 4, -- &pcf->standby_regs.misc[0]); -+ sizeof(misc), -+ &misc[0]); - if (ret) - dev_err(dev, "Failed to restore misc :-( %d\n", ret); - --- -1.5.6.3 - |