time_adjust = 0;		 time_status |= STA_UNSYNC; time_maxerror = NTP_PHASE_LIMIT; time_esterror = NTP_PHASE_LIMIT;
ntp_clear();
static int pci_do_settimeofday(struct timespec *tv){	if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)		return -EINVAL;	/*	 * 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	 * made, and then undo it!	 */	tv->tv_nsec -= 1000 * (do_gettimeoffset() + 				(jiffies - wall_jiffies) * (USEC_PER_SEC / HZ));	while (tv->tv_nsec < 0) {		tv->tv_nsec += NSEC_PER_SEC;		tv->tv_sec--;	}	wall_to_monotonic.tv_sec += xtime.tv_sec - tv->tv_sec;	wall_to_monotonic.tv_nsec += xtime.tv_nsec - tv->tv_nsec;	if (wall_to_monotonic.tv_nsec > NSEC_PER_SEC) {		wall_to_monotonic.tv_nsec -= NSEC_PER_SEC;		wall_to_monotonic.tv_sec++;	}	if (wall_to_monotonic.tv_nsec < 0) {		wall_to_monotonic.tv_nsec += NSEC_PER_SEC;		wall_to_monotonic.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;	return 0;}