diff options
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-omap.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c index e83f51ae7f63..0dfb0404f867 100644 --- a/drivers/rtc/rtc-omap.c +++ b/drivers/rtc/rtc-omap.c | |||
@@ -694,8 +694,15 @@ static SIMPLE_DEV_PM_OPS(omap_rtc_pm_ops, omap_rtc_suspend, omap_rtc_resume); | |||
694 | static void omap_rtc_shutdown(struct platform_device *pdev) | 694 | static void omap_rtc_shutdown(struct platform_device *pdev) |
695 | { | 695 | { |
696 | struct omap_rtc *rtc = platform_get_drvdata(pdev); | 696 | struct omap_rtc *rtc = platform_get_drvdata(pdev); |
697 | u8 mask; | ||
697 | 698 | ||
698 | rtc_write(rtc, OMAP_RTC_INTERRUPTS_REG, 0); | 699 | /* |
700 | * Keep the ALARM interrupt enabled to allow the system to power up on | ||
701 | * alarm events. | ||
702 | */ | ||
703 | mask = rtc_read(rtc, OMAP_RTC_INTERRUPTS_REG); | ||
704 | mask &= OMAP_RTC_INTERRUPTS_IT_ALARM; | ||
705 | rtc_write(rtc, OMAP_RTC_INTERRUPTS_REG, mask); | ||
699 | } | 706 | } |
700 | 707 | ||
701 | static struct platform_driver omap_rtc_driver = { | 708 | static struct platform_driver omap_rtc_driver = { |