aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-s3c2440/mach-gta02.c
diff options
context:
space:
mode:
authorAndy Green <andy@openmoko.com>2008-11-30 11:51:48 +0000
committerAndy Green <agreen@pads.home.warmcat.com>2008-11-30 11:51:48 +0000
commitd8e07523db4a07a817d9bde9ee1d34105b9429b0 (patch)
treec248733acc1eb798980951ef9334a27158a02804 /arch/arm/mach-s3c2440/mach-gta02.c
parentc0e2f69a01a4ea57d37513021233cd7d41f71046 (diff)
fix-backlight-too-early.patch
This moves the backlight init to right before the backlight device init during the jbt6k74 probe callback... it guarantees video is up and the lcm is configured before we bring up backlight and so removes the white flash during boot, the all-black framebuffer is instead shown smoothly and cleanly. Signed-off-by: Andy Green <andy@openmoko.com>
Diffstat (limited to 'arch/arm/mach-s3c2440/mach-gta02.c')
-rw-r--r--arch/arm/mach-s3c2440/mach-gta02.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
index dcf0d993337..193a75d8602 100644
--- a/arch/arm/mach-s3c2440/mach-gta02.c
+++ b/arch/arm/mach-s3c2440/mach-gta02.c
@@ -1094,6 +1094,14 @@ static void gta02_jbt6k74_reset(int devidx, int level)
static void gta02_jbt6k74_probe_completed(struct device *dev)
{
+ struct pcf50633 *pcf = gta02_pcf_pdata.pcf;
+
+ /* Switch on backlight. Qi does not do it for us */
+ pcf50633_reg_write(pcf, PCF50633_REG_LEDOUT, 0x01);
+ pcf50633_reg_write(pcf, PCF50633_REG_LEDENA, 0x00);
+ pcf50633_reg_write(pcf, PCF50633_REG_LEDDIM, 0x01);
+ pcf50633_reg_write(pcf, PCF50633_REG_LEDENA, 0x01);
+
gta02_bl_dev.dev.parent = dev;
platform_device_register(&gta02_bl_dev);
}
@@ -1652,12 +1660,6 @@ static void gta02_pmu_attach_child_devices(struct pcf50633 *pcf)
mangle_glamo_res_by_system_rev();
platform_add_devices(gta02_devices_pmu_children,
ARRAY_SIZE(gta02_devices_pmu_children));
-
- /* Switch on backlight. Qi does not do it for us */
- pcf50633_reg_write(pcf, PCF50633_REG_LEDENA, 0x00);
- pcf50633_reg_write(pcf, PCF50633_REG_LEDDIM, 0x01);
- pcf50633_reg_write(pcf, PCF50633_REG_LEDENA, 0x01);
- pcf50633_reg_write(pcf, PCF50633_REG_LEDOUT, 0x3f);
}