aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/backlight
diff options
context:
space:
mode:
authorAlberto Panizzo <maramaopercheseimorto@gmail.com>2011-01-12 19:59:23 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-13 11:03:06 -0500
commit26bbabc8e80b4b9e42aca13376a2c1609a880e21 (patch)
tree16c3b5823fd0a76d8c089eb90b345e6bc4b1c65b /drivers/video/backlight
parent95558ad15b2b679fb8b312d3fd637acea854ba2f (diff)
drivers/video/backlight/l4f00242t03.c: prevent unbalanced calls to regulator enable/disable
Otherwise a double call to: $ echo 4 > /sys/class/lcd/l4f00242t03/lcd_power Will, the first power down the lcd and regulators correctly and the second produce an unbalanced call to regulator disable. Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tejun Heo <tj@kernel.org> Cc: Axel Lin <axel.lin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/backlight')
-rw-r--r--drivers/video/backlight/l4f00242t03.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/video/backlight/l4f00242t03.c b/drivers/video/backlight/l4f00242t03.c
index 5d25743bf8e2..1fcaaf3d78e1 100644
--- a/drivers/video/backlight/l4f00242t03.c
+++ b/drivers/video/backlight/l4f00242t03.c
@@ -134,10 +134,12 @@ static int l4f00242t03_lcd_power_set(struct lcd_device *ld, int power)
134 } 134 }
135 } else { 135 } else {
136 /* power == FB_BLANK_POWERDOWN */ 136 /* power == FB_BLANK_POWERDOWN */
137 /* Clear the screen before shutting down */ 137 if (priv->lcd_state != FB_BLANK_POWERDOWN) {
138 spi_write(spi, (const u8 *)&disoff, sizeof(u16)); 138 /* Clear the screen before shutting down */
139 msleep(60); 139 spi_write(spi, (const u8 *)&disoff, sizeof(u16));
140 l4f00242t03_lcd_powerdown(spi); 140 msleep(60);
141 l4f00242t03_lcd_powerdown(spi);
142 }
141 } 143 }
142 144
143 priv->lcd_state = power; 145 priv->lcd_state = power;