diff options
Diffstat (limited to 'drivers/rtc/rtc-mrst.c')
| -rw-r--r-- | drivers/rtc/rtc-mrst.c | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/drivers/rtc/rtc-mrst.c b/drivers/rtc/rtc-mrst.c index e2436d140175..548ea6f6f384 100644 --- a/drivers/rtc/rtc-mrst.c +++ b/drivers/rtc/rtc-mrst.c | |||
| @@ -277,13 +277,15 @@ static int mrst_procfs(struct device *dev, struct seq_file *seq) | |||
| 277 | valid = vrtc_cmos_read(RTC_VALID); | 277 | valid = vrtc_cmos_read(RTC_VALID); |
| 278 | spin_unlock_irq(&rtc_lock); | 278 | spin_unlock_irq(&rtc_lock); |
| 279 | 279 | ||
| 280 | return seq_printf(seq, | 280 | seq_printf(seq, |
| 281 | "periodic_IRQ\t: %s\n" | 281 | "periodic_IRQ\t: %s\n" |
| 282 | "alarm\t\t: %s\n" | 282 | "alarm\t\t: %s\n" |
| 283 | "BCD\t\t: no\n" | 283 | "BCD\t\t: no\n" |
| 284 | "periodic_freq\t: daily (not adjustable)\n", | 284 | "periodic_freq\t: daily (not adjustable)\n", |
| 285 | (rtc_control & RTC_PIE) ? "on" : "off", | 285 | (rtc_control & RTC_PIE) ? "on" : "off", |
| 286 | (rtc_control & RTC_AIE) ? "on" : "off"); | 286 | (rtc_control & RTC_AIE) ? "on" : "off"); |
| 287 | |||
| 288 | return 0; | ||
| 287 | } | 289 | } |
| 288 | 290 | ||
| 289 | #else | 291 | #else |
| @@ -413,8 +415,8 @@ static void rtc_mrst_do_remove(struct device *dev) | |||
| 413 | mrst->dev = NULL; | 415 | mrst->dev = NULL; |
| 414 | } | 416 | } |
| 415 | 417 | ||
| 416 | #ifdef CONFIG_PM | 418 | #ifdef CONFIG_PM_SLEEP |
| 417 | static int mrst_suspend(struct device *dev, pm_message_t mesg) | 419 | static int mrst_suspend(struct device *dev) |
| 418 | { | 420 | { |
| 419 | struct mrst_rtc *mrst = dev_get_drvdata(dev); | 421 | struct mrst_rtc *mrst = dev_get_drvdata(dev); |
| 420 | unsigned char tmp; | 422 | unsigned char tmp; |
| @@ -453,7 +455,7 @@ static int mrst_suspend(struct device *dev, pm_message_t mesg) | |||
| 453 | */ | 455 | */ |
| 454 | static inline int mrst_poweroff(struct device *dev) | 456 | static inline int mrst_poweroff(struct device *dev) |
| 455 | { | 457 | { |
| 456 | return mrst_suspend(dev, PMSG_HIBERNATE); | 458 | return mrst_suspend(dev); |
| 457 | } | 459 | } |
| 458 | 460 | ||
| 459 | static int mrst_resume(struct device *dev) | 461 | static int mrst_resume(struct device *dev) |
| @@ -490,9 +492,11 @@ static int mrst_resume(struct device *dev) | |||
| 490 | return 0; | 492 | return 0; |
| 491 | } | 493 | } |
| 492 | 494 | ||
| 495 | static SIMPLE_DEV_PM_OPS(mrst_pm_ops, mrst_suspend, mrst_resume); | ||
| 496 | #define MRST_PM_OPS (&mrst_pm_ops) | ||
| 497 | |||
| 493 | #else | 498 | #else |
| 494 | #define mrst_suspend NULL | 499 | #define MRST_PM_OPS NULL |
| 495 | #define mrst_resume NULL | ||
| 496 | 500 | ||
| 497 | static inline int mrst_poweroff(struct device *dev) | 501 | static inline int mrst_poweroff(struct device *dev) |
| 498 | { | 502 | { |
| @@ -529,9 +533,8 @@ static struct platform_driver vrtc_mrst_platform_driver = { | |||
| 529 | .remove = vrtc_mrst_platform_remove, | 533 | .remove = vrtc_mrst_platform_remove, |
| 530 | .shutdown = vrtc_mrst_platform_shutdown, | 534 | .shutdown = vrtc_mrst_platform_shutdown, |
| 531 | .driver = { | 535 | .driver = { |
| 532 | .name = (char *) driver_name, | 536 | .name = driver_name, |
| 533 | .suspend = mrst_suspend, | 537 | .pm = MRST_PM_OPS, |
| 534 | .resume = mrst_resume, | ||
| 535 | } | 538 | } |
| 536 | }; | 539 | }; |
| 537 | 540 | ||
