Commit 78820703 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] v850: fix do_settimeofday() for new API

parent 2b20d949
......@@ -147,8 +147,11 @@ void do_gettimeofday (struct timeval *tv)
tv->tv_usec = usec;
}
void do_settimeofday (struct timeval *tv)
int do_settimeofday(struct timespec *tv)
{
if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)
return -EINVAL;
write_seqlock_irq (&xtime_lock);
/* This is revolting. We need to set the xtime.tv_nsec
......@@ -158,16 +161,16 @@ void do_settimeofday (struct timeval *tv)
* would have done, and then undo it!
*/
#if 0
tv->tv_usec -= mach_gettimeoffset ();
tv->tv_nsec -= mach_gettimeoffset() * 1000;
#endif
while (tv->tv_usec < 0) {
tv->tv_usec += 1000000;
while (tv->tv_nsec < 0) {
tv->tv_nsec += NSEC_PER_SEC;
tv->tv_sec--;
}
xtime.tv_sec = tv->tv_sec;
xtime.tv_nsec = tv->tv_usec * 1000;
xtime.tv_nsec = tv->tv_nsec;
time_adjust = 0; /* stop active adjtime () */
time_status |= STA_UNSYNC;
......@@ -175,6 +178,7 @@ void do_settimeofday (struct timeval *tv)
time_esterror = NTP_PHASE_LIMIT;
write_sequnlock_irq (&xtime_lock);
return 0;
}
static int timer_dev_id;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment