backlight: don't resume backlight for dark resume
authorDerek Basehore <dbasehore@chromium.org>
Tue, 19 Mar 2013 00:58:26 +0000 (17:58 -0700)
committerChromeBot <chrome-bot@google.com>
Mon, 25 Mar 2013 23:26:51 +0000 (16:26 -0700)
For an idle suspend, we set the resume backlight sysfs file which is used during
resume in the kernel. This causes the screen to flash on for a moment during a
dark resume. This change prevents the backlight resume from doing anything
during a dark resume.

BUG=chrome-os-partner:9812
TEST=idle suspend system with dark resume (see backlight doesn't turn on)

Change-Id: Iccd02b99bdd682853fc9b184817c4d43028afcf6
Signed-off-by: Derek Basehore <dbasehore@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/45824
Reviewed-by: Sameer Nanda <snanda@chromium.org>
drivers/video/backlight/backlight.c

index 49af059..45ed629 100644 (file)
@@ -260,7 +260,13 @@ static int backlight_suspend(struct device *dev, pm_message_t state)
 
 static int backlight_resume(struct device *dev)
 {
-       struct backlight_device *bd = to_backlight_device(dev);
+       struct backlight_device *bd;
+
+       if (dpm_is_dark_resume()) {
+               dev_info(dev, "disabled for dark resume\n");
+               return 0;
+       }
+       bd = to_backlight_device(dev);
 
        mutex_lock(&bd->ops_lock);
        if ((bd->ops && bd->ops->options & BL_CORE_SUSPENDRESUME) ||