summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author=?UTF-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= <arve@android.com>2011-12-02 14:02:26 +0800
committerAndy Green <andy.green@linaro.org>2011-12-02 14:02:26 +0800
commit272f954dff27dbef05d9ea2c2edef203fe6f6d1f (patch)
tree21e060187964f644ed52441428509a88b68ac64e
parent1abcaf4ff2c4d14ca1d6ab7877039ac4fbd98fc4 (diff)
rtc: alarm: Don't use save_time_delta.
MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Iaefeca497de02fe36b7f5d79075912f6e349ec53 Signed-off-by: Arve Hjønnevåg <arve@android.com>
-rw-r--r--drivers/rtc/alarm.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/rtc/alarm.c b/drivers/rtc/alarm.c
index 18492fded49..084ef648f9c 100644
--- a/drivers/rtc/alarm.c
+++ b/drivers/rtc/alarm.c
@@ -373,8 +373,8 @@ static int alarm_suspend(struct platform_device *pdev, pm_message_t state)
struct rtc_time rtc_current_rtc_time;
unsigned long rtc_current_time;
unsigned long rtc_alarm_time;
- struct timespec rtc_current_timespec;
struct timespec rtc_delta;
+ struct timespec wall_time;
struct alarm_queue *wakeup_queue = NULL;
struct alarm_queue *tmp_queue = NULL;
@@ -398,10 +398,11 @@ static int alarm_suspend(struct platform_device *pdev, pm_message_t state)
wakeup_queue = tmp_queue;
if (wakeup_queue) {
rtc_read_time(alarm_rtc_dev, &rtc_current_rtc_time);
- rtc_current_timespec.tv_nsec = 0;
- rtc_tm_to_time(&rtc_current_rtc_time,
- &rtc_current_timespec.tv_sec);
- save_time_delta(&rtc_delta, &rtc_current_timespec);
+ getnstimeofday(&wall_time);
+ rtc_tm_to_time(&rtc_current_rtc_time, &rtc_current_time);
+ set_normalized_timespec(&rtc_delta,
+ wall_time.tv_sec - rtc_current_time,
+ wall_time.tv_nsec);
rtc_alarm_time = timespec_sub(ktime_to_timespec(
hrtimer_get_expires(&wakeup_queue->timer)),