diff options
author | Venu Byravarasu <vbyravarasu@nvidia.com> | 2012-03-23 23:02:34 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-24 00:58:39 +0100 |
commit | 2778ebcc09c002cccdbd6b5509b5cbf4161b486d (patch) | |
tree | 096e1d6fe478c88db9d8cecf0e24c0d6fe4c73bb /drivers/rtc | |
parent | drivers/rtc/rtc-twl.c: simplify RTC interrupt clearing (diff) | |
download | linux-2778ebcc09c002cccdbd6b5509b5cbf4161b486d.tar.xz linux-2778ebcc09c002cccdbd6b5509b5cbf4161b486d.zip |
drivers/rtc/rtc-twl.c: return correct RTC event from ISR
Following changes are made as part of this change:
1. As TWL RTC supports periodic interrupt, the correct event should be
RTC_PF instead of RTC_UF.
2. No need to initialize variable "events" to 0 & then OR it with the
event values. Hence fixing it.
Signed-off-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-twl.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/rtc/rtc-twl.c b/drivers/rtc/rtc-twl.c index cedb6c145fc4..4c2c6df2a9ef 100644 --- a/drivers/rtc/rtc-twl.c +++ b/drivers/rtc/rtc-twl.c @@ -365,7 +365,7 @@ out: static irqreturn_t twl_rtc_interrupt(int irq, void *rtc) { - unsigned long events = 0; + unsigned long events; int ret = IRQ_NONE; int res; u8 rd_reg; @@ -380,9 +380,9 @@ static irqreturn_t twl_rtc_interrupt(int irq, void *rtc) * by reading RTS_INTERRUPTS_REGISTER[IT_TIMER,IT_ALARM] */ if (rd_reg & BIT_RTC_STATUS_REG_ALARM_M) - events |= RTC_IRQF | RTC_AF; + events = RTC_IRQF | RTC_AF; else - events |= RTC_IRQF | RTC_UF; + events = RTC_IRQF | RTC_PF; res = twl_rtc_write_u8(BIT_RTC_STATUS_REG_ALARM_M, REG_RTC_STATUS_REG); |