aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2013-04-29 19:17:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-04-29 21:28:17 -0400
commita71ed77b3ac5bb6ce3515fa9d0b9ad2c84919a2c (patch)
treeef941486c6cde9e71e60981a45ce4cea31518673 /drivers/video
parent5a3778e2f57e5fb1f6e060586f5850dd87b5320f (diff)
backlight: ltv350qv: convert ltv350qv 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')
-rw-r--r--drivers/video/backlight/ltv350qv.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/video/backlight/ltv350qv.c b/drivers/video/backlight/ltv350qv.c
index c0b4b8f2de98..ed1b39268131 100644
--- a/drivers/video/backlight/ltv350qv.c
+++ b/drivers/video/backlight/ltv350qv.c
@@ -271,25 +271,24 @@ static int ltv350qv_remove(struct spi_device *spi)
271 return 0; 271 return 0;
272} 272}
273 273
274#ifdef CONFIG_PM 274#ifdef CONFIG_PM_SLEEP
275static int ltv350qv_suspend(struct spi_device *spi, pm_message_t state) 275static int ltv350qv_suspend(struct device *dev)
276{ 276{
277 struct ltv350qv *lcd = spi_get_drvdata(spi); 277 struct ltv350qv *lcd = dev_get_drvdata(dev);
278 278
279 return ltv350qv_power(lcd, FB_BLANK_POWERDOWN); 279 return ltv350qv_power(lcd, FB_BLANK_POWERDOWN);
280} 280}
281 281
282static int ltv350qv_resume(struct spi_device *spi) 282static int ltv350qv_resume(struct device *dev)
283{ 283{
284 struct ltv350qv *lcd = spi_get_drvdata(spi); 284 struct ltv350qv *lcd = dev_get_drvdata(dev);
285 285
286 return ltv350qv_power(lcd, FB_BLANK_UNBLANK); 286 return ltv350qv_power(lcd, FB_BLANK_UNBLANK);
287} 287}
288#else
289#define ltv350qv_suspend NULL
290#define ltv350qv_resume NULL
291#endif 288#endif
292 289
290static SIMPLE_DEV_PM_OPS(ltv350qv_pm_ops, ltv350qv_suspend, ltv350qv_resume);
291
293/* Power down all displays on reboot, poweroff or halt */ 292/* Power down all displays on reboot, poweroff or halt */
294static void ltv350qv_shutdown(struct spi_device *spi) 293static void ltv350qv_shutdown(struct spi_device *spi)
295{ 294{
@@ -302,13 +301,12 @@ static struct spi_driver ltv350qv_driver = {
302 .driver = { 301 .driver = {
303 .name = "ltv350qv", 302 .name = "ltv350qv",
304 .owner = THIS_MODULE, 303 .owner = THIS_MODULE,
304 .pm = &ltv350qv_pm_ops,
305 }, 305 },
306 306
307 .probe = ltv350qv_probe, 307 .probe = ltv350qv_probe,
308 .remove = ltv350qv_remove, 308 .remove = ltv350qv_remove,
309 .shutdown = ltv350qv_shutdown, 309 .shutdown = ltv350qv_shutdown,
310 .suspend = ltv350qv_suspend,
311 .resume = ltv350qv_resume,
312}; 310};
313 311
314module_spi_driver(ltv350qv_driver); 312module_spi_driver(ltv350qv_driver);