diff options
author | Alberto Panizzo <maramaopercheseimorto@gmail.com> | 2011-01-13 01:59:23 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 17:03:06 +0100 |
commit | 26bbabc8e80b4b9e42aca13376a2c1609a880e21 (patch) | |
tree | 16c3b5823fd0a76d8c089eb90b345e6bc4b1c65b | |
parent | drivers/video/backlight/l4f00242t03.c: full implement fb power states for thi... (diff) | |
download | linux-26bbabc8e80b4b9e42aca13376a2c1609a880e21.tar.xz linux-26bbabc8e80b4b9e42aca13376a2c1609a880e21.zip |
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>
-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) } } else { /* power == FB_BLANK_POWERDOWN */ - /* Clear the screen before shutting down */ - spi_write(spi, (const u8 *)&disoff, sizeof(u16)); - msleep(60); - l4f00242t03_lcd_powerdown(spi); + if (priv->lcd_state != FB_BLANK_POWERDOWN) { + /* Clear the screen before shutting down */ + spi_write(spi, (const u8 *)&disoff, sizeof(u16)); + msleep(60); + l4f00242t03_lcd_powerdown(spi); + } } priv->lcd_state = power; |