summaryrefslogtreecommitdiff
path: root/drivers/rtc
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2011-02-08 10:45:39 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-02-08 18:20:42 -0800
commit23340cbd27bc002868c295f5b94eeccb903deb0f (patch)
tree55726fc29ca056232df272d06cbbd01c4108b856 /drivers/rtc
parent23621efaf95cfaafe45cbb641b47ec781265b6dc (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 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>
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 b0625a6215c1..745134b5caef 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;