openwrt/target/linux/s3c24xx/patches-2.6.24/1202-fix-pcf50633-platform-...

59 lines
2.0 KiB
Diff

From 31afa68418678eef1885db656a935b24d51dce9b Mon Sep 17 00:00:00 2001
From: Andy Green <andy@openmoko.com>
Date: Wed, 2 Jul 2008 22:42:29 +0100
Subject: [PATCH] fix-pcf50633-platform-backlight-resume-ramp-setting.patch
Signed-off-by: Andy Green <andy@openmoko.com>
---
arch/arm/mach-s3c2440/mach-gta02.c | 1 +
drivers/i2c/chips/pcf50633.c | 6 ++++--
include/linux/pcf50633.h | 1 +
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
index 297b792..309e484 100644
--- a/arch/arm/mach-s3c2440/mach-gta02.c
+++ b/arch/arm/mach-s3c2440/mach-gta02.c
@@ -577,6 +577,7 @@ static struct pcf50633_platform_data gta02_pcf_pdata = {
},
},
.defer_resume_backlight = 1,
+ .resume_backlight_ramp_speed = 5
};
#if 0 /* currently unused */
diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
index 875a5ee..a697ee1 100644
--- a/drivers/i2c/chips/pcf50633.c
+++ b/drivers/i2c/chips/pcf50633.c
@@ -2483,10 +2483,12 @@ 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_LEDDIM, 1);
+ /* platform defines resume ramp speed */
+ reg_write(pcf, PCF50633_REG_LEDDIM,
+ pcf->pdata->resume_backlight_ramp_speed);
reg_write(pcf, PCF50633_REG_LEDOUT, pcf->standby_regs.misc[
PCF50633_REG_LEDOUT - PCF50633_REG_AUTOOUT]);
+ /* we force the backlight on in fact */
reg_write(pcf, PCF50633_REG_LEDENA, pcf->standby_regs.misc[
PCF50633_REG_LEDENA - PCF50633_REG_AUTOOUT] | 1);
}
diff --git a/include/linux/pcf50633.h b/include/linux/pcf50633.h
index fa1c7e8..b94b72a 100644
--- a/include/linux/pcf50633.h
+++ b/include/linux/pcf50633.h
@@ -173,6 +173,7 @@ struct pcf50633_platform_data {
/* post-resume backlight bringup */
int defer_resume_backlight;
+ u8 resume_backlight_ramp_speed;
};
#endif /* _PCF50633_H */
--
1.5.6.5