diff options
author | Varun Wadekar <vwadekar@nvidia.com> | 2011-02-08 10:45:39 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:43:13 -0800 |
commit | 0e48e1c6cbf320b1cbc40d690227f951ad3b45dc (patch) | |
tree | 73c5b45225b611446b98661565e872ed70734168 /drivers/rtc | |
parent | 91927d862d3c43a5133ead82ed0b9c750e6bb009 (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.c | 8 |
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; |