diff options
author | Jingoo Han <jg1.han@samsung.com> | 2013-04-29 19:17:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 21:28:17 -0400 |
commit | a71ed77b3ac5bb6ce3515fa9d0b9ad2c84919a2c (patch) | |
tree | ef941486c6cde9e71e60981a45ce4cea31518673 /drivers | |
parent | 5a3778e2f57e5fb1f6e060586f5850dd87b5320f (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')
-rw-r--r-- | drivers/video/backlight/ltv350qv.c | 18 |
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 |
275 | static int ltv350qv_suspend(struct spi_device *spi, pm_message_t state) | 275 | static 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 | ||
282 | static int ltv350qv_resume(struct spi_device *spi) | 282 | static 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 | ||
290 | static 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 */ |
294 | static void ltv350qv_shutdown(struct spi_device *spi) | 293 | static 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 = <v350qv_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 | ||
314 | module_spi_driver(ltv350qv_driver); | 312 | module_spi_driver(ltv350qv_driver); |