OSDN Git Service

backlight: locomolcd: convert locomolcd to dev_pm_ops
authorJingoo Han <jg1.han@samsung.com>
Mon, 29 Apr 2013 23:17:45 +0000 (16:17 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 30 Apr 2013 01:28:16 +0000 (18:28 -0700)
Instead of using legacy suspend/resume methods, using newer dev_pm_ops
structure allows better control over power management.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/backlight/locomolcd.c

index 146fea8..6c3ec42 100644 (file)
@@ -157,25 +157,24 @@ static const struct backlight_ops locomobl_data = {
        .update_status  = locomolcd_set_intensity,
 };
 
-#ifdef CONFIG_PM
-static int locomolcd_suspend(struct locomo_dev *dev, pm_message_t state)
+#ifdef CONFIG_PM_SLEEP
+static int locomolcd_suspend(struct device *dev)
 {
        locomolcd_flags |= LOCOMOLCD_SUSPENDED;
        locomolcd_set_intensity(locomolcd_bl_device);
        return 0;
 }
 
-static int locomolcd_resume(struct locomo_dev *dev)
+static int locomolcd_resume(struct device *dev)
 {
        locomolcd_flags &= ~LOCOMOLCD_SUSPENDED;
        locomolcd_set_intensity(locomolcd_bl_device);
        return 0;
 }
-#else
-#define locomolcd_suspend      NULL
-#define locomolcd_resume       NULL
 #endif
 
+static SIMPLE_DEV_PM_OPS(locomolcd_pm_ops, locomolcd_suspend, locomolcd_resume);
+
 static int locomolcd_probe(struct locomo_dev *ldev)
 {
        struct backlight_properties props;
@@ -230,13 +229,12 @@ static int locomolcd_remove(struct locomo_dev *dev)
 
 static struct locomo_driver poodle_lcd_driver = {
        .drv = {
-               .name = "locomo-backlight",
+               .name   = "locomo-backlight",
+               .pm     = &locomolcd_pm_ops,
        },
        .devid  = LOCOMO_DEVID_BACKLIGHT,
        .probe  = locomolcd_probe,
        .remove = locomolcd_remove,
-       .suspend = locomolcd_suspend,
-       .resume = locomolcd_resume,
 };
 
 static int __init locomolcd_init(void)