summaryrefslogtreecommitdiff
path: root/drivers/rtc
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2011-02-08 10:45:39 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:43:13 -0800
commit0e48e1c6cbf320b1cbc40d690227f951ad3b45dc (patch)
tree73c5b45225b611446b98661565e872ed70734168 /drivers/rtc
parent91927d862d3c43a5133ead82ed0b9c750e6bb009 (diff)
rtc: tps6586x: avoid enabling/disabling of same irq
alarm_irq_enable can enable/disable irqs and the same irq will be enabled/disabled in set_alarm. Bug 770380 Original-Change-Id: Ibd006e83028cea5cd251d789d258a5549bfa34ce Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/18661 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R9cec649a63d4553d20806804cc5400b6e6ccb60e
Diffstat (limited to 'drivers/rtc')
-rw-r--r--drivers/rtc/rtc-tps6586x.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-tps6586x.c b/drivers/rtc/rtc-tps6586x.c
index 7d203b37e6e8..d5280d050d4b 100644
--- a/drivers/rtc/rtc-tps6586x.c
+++ b/drivers/rtc/rtc-tps6586x.c
@@ -212,8 +212,10 @@ static int tps6586x_rtc_alarm_irq_enable(struct device *dev,
return err;
}
- if (!rtc->irq_en)
+ if (!rtc->irq_en) {
enable_irq(rtc->irq);
+ rtc->irq_en = true;
+ }
} else {
err = tps6586x_clr_bits(tps_dev, RTC_CTRL, RTC_ENABLE);
if (err < 0) {
@@ -221,8 +223,10 @@ static int tps6586x_rtc_alarm_irq_enable(struct device *dev,
return err;
}
- if (rtc->irq_en)
+ if (rtc->irq_en) {
disable_irq(rtc->irq);
+ rtc->irq_en = false;
+ }
}
return 0;