diff options
Diffstat (limited to 'kernel/timer.c')
-rw-r--r-- | kernel/timer.c | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/kernel/timer.c b/kernel/timer.c index 17d956cebcb9..ab189dd187cb 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -697,18 +697,9 @@ static void second_overflow(void) | |||
697 | 697 | ||
698 | /* | 698 | /* |
699 | * Compute the frequency estimate and additional phase adjustment due | 699 | * Compute the frequency estimate and additional phase adjustment due |
700 | * to frequency error for the next second. When the PPS signal is | 700 | * to frequency error for the next second. |
701 | * engaged, gnaw on the watchdog counter and update the frequency | ||
702 | * computed by the pll and the PPS signal. | ||
703 | */ | 701 | */ |
704 | pps_valid++; | 702 | ltemp = time_freq; |
705 | if (pps_valid == PPS_VALID) { /* PPS signal lost */ | ||
706 | pps_jitter = MAXTIME; | ||
707 | pps_stabil = MAXFREQ; | ||
708 | time_status &= ~(STA_PPSSIGNAL | STA_PPSJITTER | | ||
709 | STA_PPSWANDER | STA_PPSERROR); | ||
710 | } | ||
711 | ltemp = time_freq + pps_freq; | ||
712 | time_adj += shift_right(ltemp,(SHIFT_USEC + SHIFT_HZ - SHIFT_SCALE)); | 703 | time_adj += shift_right(ltemp,(SHIFT_USEC + SHIFT_HZ - SHIFT_SCALE)); |
713 | 704 | ||
714 | #if HZ == 100 | 705 | #if HZ == 100 |
@@ -956,19 +947,7 @@ void do_timer(struct pt_regs *regs) | |||
956 | */ | 947 | */ |
957 | asmlinkage unsigned long sys_alarm(unsigned int seconds) | 948 | asmlinkage unsigned long sys_alarm(unsigned int seconds) |
958 | { | 949 | { |
959 | struct itimerval it_new, it_old; | 950 | return alarm_setitimer(seconds); |
960 | unsigned int oldalarm; | ||
961 | |||
962 | it_new.it_interval.tv_sec = it_new.it_interval.tv_usec = 0; | ||
963 | it_new.it_value.tv_sec = seconds; | ||
964 | it_new.it_value.tv_usec = 0; | ||
965 | do_setitimer(ITIMER_REAL, &it_new, &it_old); | ||
966 | oldalarm = it_old.it_value.tv_sec; | ||
967 | /* ehhh.. We can't return 0 if we have an alarm pending.. */ | ||
968 | /* And we'd better return too much than too little anyway */ | ||
969 | if ((!oldalarm && it_old.it_value.tv_usec) || it_old.it_value.tv_usec >= 500000) | ||
970 | oldalarm++; | ||
971 | return oldalarm; | ||
972 | } | 951 | } |
973 | 952 | ||
974 | #endif | 953 | #endif |