[PATCH] simplify backlight resume

Sean McNeil sean at mcneil.com
Thu Jun 5 04:43:51 CEST 2008


The following is a minor cleanup of backlight resume:

diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
index 2f9b9e1..ef4e56d 100644
--- a/drivers/i2c/chips/pcf50633.c
+++ b/drivers/i2c/chips/pcf50633.c
@@ -2239,8 +2250,8 @@ 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, 0x3f);
-	__reg_write(pcf, PCF50633_REG_LEDENA, 0x21);
+	__reg_write(pcf, PCF50633_REG_LEDOUT, pcf->standby_regs.ledout);
+	__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);
@@ -2254,8 +2265,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);
@@ -2274,11 +2283,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++) {





More information about the openmoko-kernel mailing list