Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/subr_rtc.c
Show First 20 Lines • Show All 166 Lines • ▼ Show 20 Lines | |||||
resettodr(void) | resettodr(void) | ||||
{ | { | ||||
struct timespec ts; | struct timespec ts; | ||||
int error; | int error; | ||||
if (disable_rtc_set || clock_dev == NULL) | if (disable_rtc_set || clock_dev == NULL) | ||||
return; | return; | ||||
mtx_lock(&resettodr_lock); | |||||
getnanotime(&ts); | getnanotime(&ts); | ||||
timespecadd(&ts, &clock_adj); | timespecadd(&ts, &clock_adj); | ||||
ts.tv_sec -= utc_offset(); | ts.tv_sec -= utc_offset(); | ||||
/* XXX: We should really set all registered RTCs */ | /* XXX: We should really set all registered RTCs */ | ||||
mtx_lock(&resettodr_lock); | |||||
error = CLOCK_SETTIME(clock_dev, &ts); | error = CLOCK_SETTIME(clock_dev, &ts); | ||||
mtx_unlock(&resettodr_lock); | mtx_unlock(&resettodr_lock); | ||||
if (error != 0) | if (error != 0) | ||||
printf("warning: clock_settime failed (%d), time-of-day clock " | printf("warning: clock_settime failed (%d), time-of-day clock " | ||||
"not adjusted to system time\n", error); | "not adjusted to system time\n", error); | ||||
} | } |