aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/backlight
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2013-04-29 19:17:59 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-04-29 21:28:18 -0400
commit07cac9d78fcc9a0a3dd7c5b8523371f4d8cae591 (patch)
treedf52ac489cfc2e8cbcc94adff117846ab979cfb6 /drivers/video/backlight
parent46e1915eef9c0e935a09808a30e167abb857b4ec (diff)
backlight: omap1: convert omapbl to dev_pm_ops
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>
Diffstat (limited to 'drivers/video/backlight')
-rw-r--r--drivers/video/backlight/omap1_bl.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/video/backlight/omap1_bl.c b/drivers/video/backlight/omap1_bl.c
index 0aed176cd6a0..812e22e35cab 100644
--- a/drivers/video/backlight/omap1_bl.c
+++ b/drivers/video/backlight/omap1_bl.c
@@ -71,27 +71,24 @@ static void omapbl_blank(struct omap_backlight *bl, int mode)
71 } 71 }
72} 72}
73 73
74#ifdef CONFIG_PM 74#ifdef CONFIG_PM_SLEEP
75static int omapbl_suspend(struct platform_device *pdev, pm_message_t state) 75static int omapbl_suspend(struct device *dev)
76{ 76{
77 struct backlight_device *dev = platform_get_drvdata(pdev); 77 struct backlight_device *bl_dev = dev_get_drvdata(dev);
78 struct omap_backlight *bl = bl_get_data(dev); 78 struct omap_backlight *bl = bl_get_data(bl_dev);
79 79
80 omapbl_blank(bl, FB_BLANK_POWERDOWN); 80 omapbl_blank(bl, FB_BLANK_POWERDOWN);
81 return 0; 81 return 0;
82} 82}
83 83
84static int omapbl_resume(struct platform_device *pdev) 84static int omapbl_resume(struct device *dev)
85{ 85{
86 struct backlight_device *dev = platform_get_drvdata(pdev); 86 struct backlight_device *bl_dev = dev_get_drvdata(dev);
87 struct omap_backlight *bl = bl_get_data(dev); 87 struct omap_backlight *bl = bl_get_data(bl_dev);
88 88
89 omapbl_blank(bl, bl->powermode); 89 omapbl_blank(bl, bl->powermode);
90 return 0; 90 return 0;
91} 91}
92#else
93#define omapbl_suspend NULL
94#define omapbl_resume NULL
95#endif 92#endif
96 93
97static int omapbl_set_power(struct backlight_device *dev, int state) 94static int omapbl_set_power(struct backlight_device *dev, int state)
@@ -182,13 +179,14 @@ static int omapbl_remove(struct platform_device *pdev)
182 return 0; 179 return 0;
183} 180}
184 181
182static SIMPLE_DEV_PM_OPS(omapbl_pm_ops, omapbl_suspend, omapbl_resume);
183
185static struct platform_driver omapbl_driver = { 184static struct platform_driver omapbl_driver = {
186 .probe = omapbl_probe, 185 .probe = omapbl_probe,
187 .remove = omapbl_remove, 186 .remove = omapbl_remove,
188 .suspend = omapbl_suspend,
189 .resume = omapbl_resume,
190 .driver = { 187 .driver = {
191 .name = "omap-bl", 188 .name = "omap-bl",
189 .pm = &omapbl_pm_ops,
192 }, 190 },
193}; 191};
194 192