diff options
author | Shuah Khan <shuah.kh@samsung.com> | 2013-07-03 15:05:16 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 16:07:43 -0700 |
commit | 3601792e7b68150420ea8dc129e26e167c0484d8 (patch) | |
tree | 3fc4913fe3730637a559a6c3a6867e2b55a2d678 /drivers/video/backlight/backlight.c | |
parent | 6212de88f8a2f59e9be66674b3aa1f9399971a16 (diff) | |
download | lwn-3601792e7b68150420ea8dc129e26e167c0484d8.tar.gz lwn-3601792e7b68150420ea8dc129e26e167c0484d8.zip |
backlight: convert from legacy pm ops to dev_pm_ops
Convert drivers/video/backlight/class to use dev_pm_ops for power
management and remove Legacy PM ops hooks.
With this change, backlight class registers suspend/resume callbacks via
class->pm (dev_pm_ops) instead of Legacy class->suspend/resume. When
__device_suspend() runs call-backs, it will find class->pm ops for the
backlight class.
[jg1.han@samsung.com: add CONFIG_PM_SLEEP to suspend/resume functions]
Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Cc: Shuah Khan <shuahkhan@gmail.com>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Shuah Khan <shuahkhan@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/backlight/backlight.c')
-rw-r--r-- | drivers/video/backlight/backlight.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c index 53c52fbc9395..3fccb6d3c8c3 100644 --- a/drivers/video/backlight/backlight.c +++ b/drivers/video/backlight/backlight.c @@ -208,7 +208,8 @@ static ssize_t backlight_show_actual_brightness(struct device *dev, static struct class *backlight_class; -static int backlight_suspend(struct device *dev, pm_message_t state) +#ifdef CONFIG_PM_SLEEP +static int backlight_suspend(struct device *dev) { struct backlight_device *bd = to_backlight_device(dev); @@ -235,6 +236,10 @@ static int backlight_resume(struct device *dev) return 0; } +#endif + +static SIMPLE_DEV_PM_OPS(backlight_class_dev_pm_ops, backlight_suspend, + backlight_resume); static void bl_device_release(struct device *dev) { @@ -489,8 +494,7 @@ static int __init backlight_class_init(void) } backlight_class->dev_attrs = bl_device_attributes; - backlight_class->suspend = backlight_suspend; - backlight_class->resume = backlight_resume; + backlight_class->pm = &backlight_class_dev_pm_ops; return 0; } |