diff options
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/subr_clock.c | 9 | ||||
-rw-r--r-- | sys/kern/subr_rtc.c | 7 | ||||
-rw-r--r-- | sys/kern/vfs_mount.c | 1 |
3 files changed, 9 insertions, 8 deletions
diff --git a/sys/kern/subr_clock.c b/sys/kern/subr_clock.c index e8a847e..ffc70af 100644 --- a/sys/kern/subr_clock.c +++ b/sys/kern/subr_clock.c @@ -52,18 +52,14 @@ __FBSDID("$FreeBSD$"); #define ct_debug bootverbose static int adjkerntz; /* local offset from GMT in seconds */ static int wall_cmos_clock; /* wall CMOS clock assumed if != 0 */ -int disable_rtc_set; /* disable resettodr() if != 0 */ int tz_minuteswest; int tz_dsttime; /* - * These have traditionally been in machdep, but should probably be moved to + * This have traditionally been in machdep, but should probably be moved to * kern. */ -SYSCTL_INT(_machdep, OID_AUTO, disable_rtc_set, - CTLFLAG_RW, &disable_rtc_set, 0, ""); - SYSCTL_INT(_machdep, OID_AUTO, wall_cmos_clock, CTLFLAG_RW, &wall_cmos_clock, 0, ""); @@ -71,8 +67,7 @@ static int sysctl_machdep_adjkerntz(SYSCTL_HANDLER_ARGS) { int error; - error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, - req); + error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req); if (!error && req->newptr) resettodr(); return (error); diff --git a/sys/kern/subr_rtc.c b/sys/kern/subr_rtc.c index df0df32..1ec10fa 100644 --- a/sys/kern/subr_rtc.c +++ b/sys/kern/subr_rtc.c @@ -63,6 +63,11 @@ __FBSDID("$FreeBSD$"); static device_t clock_dev = NULL; static long clock_res; +/* XXX: should be kern. now, it's no longer machdep. */ +static int disable_rtc_set; +SYSCTL_INT(_machdep, OID_AUTO, disable_rtc_set, + CTLFLAG_RW, &disable_rtc_set, 0, ""); + void clock_register(device_t dev, long res) /* res has units of microseconds */ { @@ -118,6 +123,7 @@ inittodr(time_t base) "will not be set accurately\n"); return; } + /* XXX: We should poll all registered RTCs in case of failure */ error = CLOCK_GETTIME(clock_dev, &ts); if (error != 0 && error != EINVAL) { printf("warning: clock_gettime failed (%d), the system time " @@ -158,6 +164,7 @@ resettodr() getnanotime(&ts); ts.tv_sec -= utc_offset(); + /* XXX: We should really set all registered RTCs */ if ((error = CLOCK_SETTIME(clock_dev, &ts)) != 0) { printf("warning: clock_settime failed (%d), time-of-day clock " "not adjusted to system time\n", error); diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index cfaec35..34166e7 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/conf.h> -#include <sys/clock.h> #include <sys/fcntl.h> #include <sys/jail.h> #include <sys/kernel.h> |