|
@@ -323,20 +323,6 @@ int rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(rtc_read_alarm);
|
|
|
|
|
|
-static int ___rtc_set_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
|
|
|
-{
|
|
|
- int err;
|
|
|
-
|
|
|
- if (!rtc->ops)
|
|
|
- err = -ENODEV;
|
|
|
- else if (!rtc->ops->set_alarm)
|
|
|
- err = -EINVAL;
|
|
|
- else
|
|
|
- err = rtc->ops->set_alarm(rtc->dev.parent, alarm);
|
|
|
-
|
|
|
- return err;
|
|
|
-}
|
|
|
-
|
|
|
static int __rtc_set_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
|
|
|
{
|
|
|
struct rtc_time tm;
|
|
@@ -360,7 +346,14 @@ static int __rtc_set_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
|
|
|
* over right here, before we set the alarm.
|
|
|
*/
|
|
|
|
|
|
- return ___rtc_set_alarm(rtc, alarm);
|
|
|
+ if (!rtc->ops)
|
|
|
+ err = -ENODEV;
|
|
|
+ else if (!rtc->ops->set_alarm)
|
|
|
+ err = -EINVAL;
|
|
|
+ else
|
|
|
+ err = rtc->ops->set_alarm(rtc->dev.parent, alarm);
|
|
|
+
|
|
|
+ return err;
|
|
|
}
|
|
|
|
|
|
int rtc_set_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
|
|
@@ -776,20 +769,6 @@ static int rtc_timer_enqueue(struct rtc_device *rtc, struct rtc_timer *timer)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-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;
|
|
|
-
|
|
|
- ___rtc_set_alarm(rtc, &alarm);
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* rtc_timer_remove - Removes a rtc_timer from the rtc_device timerqueue
|
|
|
* @rtc rtc device
|
|
@@ -811,10 +790,8 @@ static void rtc_timer_remove(struct rtc_device *rtc, struct rtc_timer *timer)
|
|
|
struct rtc_wkalrm alarm;
|
|
|
int err;
|
|
|
next = timerqueue_getnext(&rtc->timerqueue);
|
|
|
- if (!next) {
|
|
|
- rtc_alarm_disable(rtc);
|
|
|
+ if (!next)
|
|
|
return;
|
|
|
- }
|
|
|
alarm.time = rtc_ktime_to_tm(next->expires);
|
|
|
alarm.enabled = 1;
|
|
|
err = __rtc_set_alarm(rtc, &alarm);
|
|
@@ -876,8 +853,7 @@ again:
|
|
|
err = __rtc_set_alarm(rtc, &alarm);
|
|
|
if (err == -ETIME)
|
|
|
goto again;
|
|
|
- } else
|
|
|
- rtc_alarm_disable(rtc);
|
|
|
+ }
|
|
|
|
|
|
mutex_unlock(&rtc->ops_lock);
|
|
|
}
|