From c82d887d47ed97ed79437ebc7fc241a7ce8420c2 Mon Sep 17 00:00:00 2001 From: Ian Lepore Date: Fri, 11 Aug 2017 19:02:11 +0000 Subject: [PATCH] Stop calling atrtc_set() from the xen timer clock_settime() method. That removes the only reference to atrtc_set() from outside of atrtc.c, so make it static. The xen timer driver registers as a realtime clock with 1us resolution. In the past that resulted in only the xen timer's clock_settime() getting called, so it would call atrtc_set() to set the hardware clock as well. As of r32090, the clock_settime() method of all registered realtime clocks gets called, so the xen driver no longer needs to chain-call the lower-resolution driver. Thanks to royger@ for talking me through the xen stuff, and for testing. --- sys/dev/xen/timer/timer.c | 5 ----- sys/isa/rtc.h | 1 - sys/x86/isa/atrtc.c | 2 +- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/sys/dev/xen/timer/timer.c b/sys/dev/xen/timer/timer.c index 2e94ce76fa5d..7acc8451d83d 100644 --- a/sys/dev/xen/timer/timer.c +++ b/sys/dev/xen/timer/timer.c @@ -64,8 +64,6 @@ __FBSDID("$FreeBSD$"); #include -#include - #include "clock_if.h" static devclass_t xentimer_devclass; @@ -229,9 +227,6 @@ xentimer_settime(device_t dev __unused, struct timespec *ts) if (!xen_initial_domain()) return (0); - /* Set the native RTC. */ - atrtc_set(ts); - settime.cmd = XENPF_settime64; settime.u.settime64.mbz = 0; settime.u.settime64.secs = ts->tv_sec; diff --git a/sys/isa/rtc.h b/sys/isa/rtc.h index 64dd4e012715..c549c9cdc55e 100644 --- a/sys/isa/rtc.h +++ b/sys/isa/rtc.h @@ -118,7 +118,6 @@ extern int atrtcclock_disable; int rtcin(int reg); void atrtc_restore(void); void writertc(int reg, u_char val); -void atrtc_set(struct timespec *ts); #endif #endif /* _I386_ISA_RTC_H_ */ diff --git a/sys/x86/isa/atrtc.c b/sys/x86/isa/atrtc.c index ffc9b26ef943..80aee1378501 100644 --- a/sys/x86/isa/atrtc.c +++ b/sys/x86/isa/atrtc.c @@ -164,7 +164,7 @@ atrtc_restore(void) rtcin(RTC_INTR); } -void +static void atrtc_set(struct timespec *ts) { struct clocktime ct;