pwm_backlight: avoid short blank screen while doing hibernation
authorHuayi Li <huayi.li@csr.com>
Wed, 9 Oct 2013 02:33:02 +0000 (10:33 +0800)
committer黄涛 <huangtao@rock-chips.com>
Tue, 25 Feb 2014 09:01:00 +0000 (17:01 +0800)
Use SIMPLE_DEV_PM_OPS macro will initialize the member "freeze"
and "thaw" of pwm_backlight_pm_ops as below,
.freeze = suspend_fn,
.thaw = resume_fn,
then during the process of making hibernation snapshot, screen
will be blank at the moment of freezing, and then light at the
moment of thawing.
this is not the right user experience for suspending to disk.

so this patch drops freeze and thaw callback, make the LCD is
always lighting before the final shutdown.

Signed-off-by: Huayi Li <huayi.li@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/video/backlight/pwm_bl.c

index e5a0e7dc48aba5380ed7c23e21ad94c5681642a3..3969bab1c32bc43a966fb07d7aa17b88ff13f466 100644 (file)
@@ -374,8 +374,14 @@ static int pwm_backlight_resume(struct device *dev)
 }
 #endif
 
-static SIMPLE_DEV_PM_OPS(pwm_backlight_pm_ops, pwm_backlight_suspend,
-                        pwm_backlight_resume);
+static const struct dev_pm_ops pwm_backlight_pm_ops = {
+#ifdef CONFIG_PM_SLEEP
+       .suspend = pwm_backlight_suspend,
+       .resume = pwm_backlight_resume,
+       .poweroff = pwm_backlight_suspend,
+       .restore = pwm_backlight_resume,
+#endif
+};
 
 static struct platform_driver pwm_backlight_driver = {
        .driver         = {