rtc: alarm: Don't use save_time_delta.
authorArve Hjønnevåg <arve@android.com>
Sat, 13 Mar 2010 04:05:32 +0000 (20:05 -0800)
committermgross <mark.gross@intel.com>
Wed, 9 Nov 2011 20:05:11 +0000 (12:05 -0800)
Change-Id: Iaefeca497de02fe36b7f5d79075912f6e349ec53
Signed-off-by: Arve Hjønnevåg <arve@android.com>
drivers/rtc/alarm.c

index 18492fd..084ef64 100644 (file)
@@ -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)),