time_adjust = 0;		 time_status |= STA_UNSYNC; time_maxerror = NTP_PHASE_LIMIT; time_esterror = NTP_PHASE_LIMIT;
ntp_clear();
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 "xtime" correctly. However, the	 * value in this location is the value at the most recent update of	 * wall time.  Discover what correction gettimeofday() would have	 * done, and then undo it!	 */	tv->tv_nsec -= 1000 * (gettimeoffset() +			(jiffies - wall_jiffies) * USECS_PER_JIFFY);	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_nsec;	time_adjust = 0;		/* stop active adjtime() */	time_status |= STA_UNSYNC;	time_maxerror = NTP_PHASE_LIMIT;	time_esterror = NTP_PHASE_LIMIT;	write_sequnlock_irq(&xtime_lock);	clock_was_set();	return 0;}