aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-mrst.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc/rtc-mrst.c')
-rw-r--r--drivers/rtc/rtc-mrst.c33
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
417static int mrst_suspend(struct device *dev, pm_message_t mesg) 419static 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 */
454static inline int mrst_poweroff(struct device *dev) 456static 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
459static int mrst_resume(struct device *dev) 461static 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
495static 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
497static inline int mrst_poweroff(struct device *dev) 501static 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