diff options
author | Alberto Panizzo <maramaopercheseimorto@gmail.com> | 2011-01-12 19:59:23 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 11:03:06 -0500 |
commit | 26bbabc8e80b4b9e42aca13376a2c1609a880e21 (patch) | |
tree | 16c3b5823fd0a76d8c089eb90b345e6bc4b1c65b /drivers/video/backlight | |
parent | 95558ad15b2b679fb8b312d3fd637acea854ba2f (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.c | 10 |
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; |