Messages in this thread | | | Subject | Re: REGRESSION 3.2-rcX: RTC auto poweron after 5 minutes | From | John Stultz <> | Date | Mon, 23 Jan 2012 16:31:13 -0800 |
| |
On Tue, 2011-12-27 at 20:07 +0530, Rabin Vincent wrote: > Perhaps we can avoid your five-minute problem by just attempting > to disable the irq without setting a new alarm time (not yet tested): > > diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c > index 3bcc7cf..54a3b5e 100644 > --- a/drivers/rtc/interface.c > +++ b/drivers/rtc/interface.c > @@ -778,16 +778,10 @@ static int rtc_timer_enqueue(struct rtc_device > *rtc, struct rtc_timer *timer) > > static void rtc_alarm_disable(struct rtc_device *rtc) > { > - struct rtc_wkalrm alarm; > - struct rtc_time tm; > - > - __rtc_read_time(rtc, &tm); > - > - alarm.time = rtc_ktime_to_tm(ktime_add(rtc_tm_to_ktime(tm), > - ktime_set(300, 0))); > - alarm.enabled = 0; > + if (!rtc->ops || !rtc->ops->alarm_irq_enable) > + return; > > - ___rtc_set_alarm(rtc, &alarm); > + rtc->ops->alarm_irq_enable(rtc->dev.parent, false); > } >
Hey Rabin, Just wanted to close out on this. I know this change worked for Andreas, but did it also resolve the original issue for you? I'm trying to get this ready to be queued.
thanks -john
| |