Hi,
If the timecounter struct changes again in the future it will be
easier to make the change if we are using C99-style initialization
everywhere. In general I think C99-style initialization is easier to
read for larger structs. The timecounter struct definitely qualifies
as "larger". We probably should already be doing this but nobody has
bothered yet.
So I will bother. This patch changes every timecounter struct to use
C99-style initialization. Some are already using it but most are not.
Yes, I am aware that this is tedious to review. I'm sorry. I think
suffering this now will pay off in the future.
Speaking of the future: in a subsequent patch I would like to remove
several of the the zero and NULL members, as C99 guarantees that
omission of a member at initialization causes it to be implicitly
zeroed. For instance, there is no reason to set .tc_user if the
timecounter has no corresponding driver in libc. There are also no
drivers setting the .tc_poll_pps function pointer, so we can just let
it implicitly be NULL. And if the timecounter needs no private cookie
we don't need to explicitly set .tc_priv to NULL. Et cetera.
I suppose if people prefer it we _could_ do such changes in this
patch. I'm leaning toward not doing that. Switching to the C99 style
*and* dropping members will make review more difficult and increase
the likelihood of a mistake, i.e. I will accidentally break the build
on some platform and people will yell at me, which I want to avoid.
Thoughts? Preferences? ok?
Index: ./arch/alpha/alpha/clock.c
===================================================================
RCS file: /cvs/src/sys/arch/alpha/alpha/clock.c,v
retrieving revision 1.24
diff -u -p -r1.24 clock.c
--- ./arch/alpha/alpha/clock.c 6 Jul 2020 13:33:06 -0000 1.24
+++ ./arch/alpha/alpha/clock.c 19 Feb 2021 02:57:55 -0000
@@ -64,7 +64,14 @@ int clk_irq = 0;
u_int rpcc_get_timecount(struct timecounter *);
struct timecounter rpcc_timecounter = {
- rpcc_get_timecount, NULL, ~0u, 0, "rpcc", 0, NULL, 0
+ .tc_get_timecount = rpcc_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = ~0u,
+ .tc_frequency = 0,
+ .tc_name = "rpcc",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
extern todr_chip_handle_t todr_handle;
Index: ./arch/amd64/amd64/tsc.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/tsc.c,v
retrieving revision 1.22
diff -u -p -r1.22 tsc.c
--- ./arch/amd64/amd64/tsc.c 24 Dec 2020 04:20:48 -0000 1.22
+++ ./arch/amd64/amd64/tsc.c 19 Feb 2021 02:57:55 -0000
@@ -52,7 +52,14 @@ extern u_int32_t lapic_per_second;
#endif
struct timecounter tsc_timecounter = {
- tsc_get_timecount, NULL, ~0u, 0, "tsc", -1000, NULL, TC_TSC
+ .tc_get_timecount = tsc_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = ~0u,
+ .tc_frequency = 0,
+ .tc_name = "tsc",
+ .tc_quality = -1000,
+ .tc_priv = NULL,
+ .tc_user = TC_TSC,
};
uint64_t
Index: ./arch/amd64/isa/clock.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/isa/clock.c,v
retrieving revision 1.34
diff -u -p -r1.34 clock.c
--- ./arch/amd64/isa/clock.c 6 Jul 2020 13:33:06 -0000 1.34
+++ ./arch/amd64/isa/clock.c 19 Feb 2021 02:57:55 -0000
@@ -116,7 +116,14 @@ u_int i8254_get_timecount(struct timecou
u_int i8254_simple_get_timecount(struct timecounter *tc);
static struct timecounter i8254_timecounter = {
- i8254_get_timecount, NULL, ~0u, TIMER_FREQ, "i8254", 0, NULL, 0
+ .tc_get_timecount = i8254_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = ~0u,
+ .tc_frequency = TIMER_FREQ,
+ .tc_name = "i8254",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
int clockintr(void *);
Index: ./arch/armv7/omap/dmtimer.c
===================================================================
RCS file: /cvs/src/sys/arch/armv7/omap/dmtimer.c,v
retrieving revision 1.9
diff -u -p -r1.9 dmtimer.c
--- ./arch/armv7/omap/dmtimer.c 19 Jan 2021 18:04:43 -0000 1.9
+++ ./arch/armv7/omap/dmtimer.c 19 Feb 2021 02:57:55 -0000
@@ -111,7 +111,13 @@ void dmtimer_setstatclockrate(int newhz)
u_int dmtimer_get_timecount(struct timecounter *);
static struct timecounter dmtimer_timecounter = {
- dmtimer_get_timecount, NULL, 0xffffffff, 0, "dmtimer", 0, NULL
+ .tc_get_timecount = dmtimer_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "dmtimer",
+ .tc_quality = 0,
+ .tc_priv = NULL,
};
bus_space_handle_t dmtimer_ioh0;
Index: ./arch/armv7/omap/gptimer.c
===================================================================
RCS file: /cvs/src/sys/arch/armv7/omap/gptimer.c,v
retrieving revision 1.11
diff -u -p -r1.11 gptimer.c
--- ./arch/armv7/omap/gptimer.c 19 Jan 2021 18:04:43 -0000 1.11
+++ ./arch/armv7/omap/gptimer.c 19 Feb 2021 02:57:56 -0000
@@ -113,7 +113,14 @@ int gptimer_irq = 0;
u_int gptimer_get_timecount(struct timecounter *);
static struct timecounter gptimer_timecounter = {
- gptimer_get_timecount, NULL, 0xffffffff, 0, "gptimer", 0, NULL, 0
+ .tc_get_timecount = gptimer_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "gptimer",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
volatile u_int32_t nexttickevent;
Index: ./arch/armv7/sunxi/sxitimer.c
===================================================================
RCS file: /cvs/src/sys/arch/armv7/sunxi/sxitimer.c,v
retrieving revision 1.15
diff -u -p -r1.15 sxitimer.c
--- ./arch/armv7/sunxi/sxitimer.c 19 Jan 2021 18:04:43 -0000 1.15
+++ ./arch/armv7/sunxi/sxitimer.c 19 Feb 2021 02:57:56 -0000
@@ -89,7 +89,14 @@ void sxitimer_delay(u_int);
u_int sxitimer_get_timecount(struct timecounter *);
static struct timecounter sxitimer_timecounter = {
- sxitimer_get_timecount, NULL, 0xffffffff, 0, "sxitimer", 0, NULL, 0
+ .tc_get_timecount = sxitimer_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "sxitimer",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
bus_space_tag_t sxitimer_iot;
Index: ./arch/arm/cortex/amptimer.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/cortex/amptimer.c,v
retrieving revision 1.10
diff -u -p -r1.10 amptimer.c
--- ./arch/arm/cortex/amptimer.c 19 Jan 2021 18:04:43 -0000 1.10
+++ ./arch/arm/cortex/amptimer.c 19 Feb 2021 02:57:56 -0000
@@ -67,7 +67,14 @@ int32_t amptimer_frequency = TIMER_FREQU
u_int amptimer_get_timecount(struct timecounter *);
static struct timecounter amptimer_timecounter = {
- amptimer_get_timecount, NULL, 0xffffffff, 0, "amptimer", 0, NULL, 0
+ .tc_get_timecount = amptimer_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "amptimer",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
#define MAX_ARM_CPUS 8
Index: ./arch/arm/cortex/agtimer.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/cortex/agtimer.c,v
retrieving revision 1.11
diff -u -p -r1.11 agtimer.c
--- ./arch/arm/cortex/agtimer.c 19 Jan 2021 18:04:43 -0000 1.11
+++ ./arch/arm/cortex/agtimer.c 19 Feb 2021 02:57:56 -0000
@@ -46,7 +46,13 @@ int32_t agtimer_frequency = TIMER_FREQUE
u_int agtimer_get_timecount(struct timecounter *);
static struct timecounter agtimer_timecounter = {
- agtimer_get_timecount, NULL, 0xffffffff, 0, "agtimer", 0, NULL
+ .tc_get_timecount = agtimer_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "agtimer",
+ .tc_quality = 0,
+ .tc_priv = NULL,
};
struct agtimer_pcpu_softc {
Index: ./arch/arm64/dev/agtimer.c
===================================================================
RCS file: /cvs/src/sys/arch/arm64/dev/agtimer.c,v
retrieving revision 1.16
diff -u -p -r1.16 agtimer.c
--- ./arch/arm64/dev/agtimer.c 19 Jan 2021 18:07:15 -0000 1.16
+++ ./arch/arm64/dev/agtimer.c 19 Feb 2021 02:57:56 -0000
@@ -43,8 +43,14 @@ int32_t agtimer_frequency = TIMER_FREQUE
u_int agtimer_get_timecount(struct timecounter *);
static struct timecounter agtimer_timecounter = {
- agtimer_get_timecount, NULL, 0xffffffff, 0, "agtimer", 0, NULL,
- TC_AGTIMER
+ .tc_get_timecount = agtimer_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "agtimer",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = TC_AGTIMER,
};
struct agtimer_pcpu_softc {
Index: ./arch/hppa/dev/clock.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa/dev/clock.c,v
retrieving revision 1.31
diff -u -p -r1.31 clock.c
--- ./arch/hppa/dev/clock.c 6 Jul 2020 13:33:07 -0000 1.31
+++ ./arch/hppa/dev/clock.c 19 Feb 2021 02:57:56 -0000
@@ -47,7 +47,14 @@ int cpu_hardclock(void *);
u_int itmr_get_timecount(struct timecounter *);
struct timecounter itmr_timecounter = {
- itmr_get_timecount, NULL, 0xffffffff, 0, "itmr", 0, NULL, 0
+ .tc_get_timecount = itmr_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "itmr",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
extern todr_chip_handle_t todr_handle;
Index: ./arch/i386/isa/clock.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/isa/clock.c,v
retrieving revision 1.59
diff -u -p -r1.59 clock.c
--- ./arch/i386/isa/clock.c 6 Jul 2020 13:33:07 -0000 1.59
+++ ./arch/i386/isa/clock.c 19 Feb 2021 02:57:56 -0000
@@ -129,7 +129,14 @@ u_int i8254_get_timecount(struct timecou
u_int i8254_simple_get_timecount(struct timecounter *tc);
static struct timecounter i8254_timecounter = {
- i8254_get_timecount, NULL, ~0u, TIMER_FREQ, "i8254", 0, NULL, 0
+ .tc_get_timecount = i8254_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = ~0u,
+ .tc_frequency = TIMER_FREQ,
+ .tc_name = "i8254",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
struct mutex timer_mutex = MUTEX_INITIALIZER(IPL_HIGH);
u_long rtclock_tval;
Index: ./arch/i386/pci/gscpm.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/pci/gscpm.c,v
retrieving revision 1.10
diff -u -p -r1.10 gscpm.c
--- ./arch/i386/pci/gscpm.c 6 Jul 2020 13:33:07 -0000 1.10
+++ ./arch/i386/pci/gscpm.c 19 Feb 2021 02:57:56 -0000
@@ -50,14 +50,14 @@ void gscpm_setperf(int);
u_int gscpm_get_timecount(struct timecounter *tc);
struct timecounter gscpm_timecounter = {
- gscpm_get_timecount, /* get_timecount */
- 0, /* no poll_pps */
- 0xffffff, /* counter_mask */
- 3579545, /* frequency */
- "GSCPM", /* name */
- 1000, /* quality */
- NULL, /* private bits */
- 0 /* expose to user */
+ .tc_get_timecount = gscpm_get_timecount,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = 0xffffff,
+ .tc_frequency = 3579545,
+ .tc_name = "GSCPM",
+ .tc_quality = 1000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
struct cfattach gscpm_ca = {
Index: ./arch/i386/pci/ichpcib.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/pci/ichpcib.c,v
retrieving revision 1.29
diff -u -p -r1.29 ichpcib.c
--- ./arch/i386/pci/ichpcib.c 6 Jul 2020 13:33:07 -0000 1.29
+++ ./arch/i386/pci/ichpcib.c 19 Feb 2021 02:57:56 -0000
@@ -58,14 +58,14 @@ void pcibattach(struct device *, stru
u_int ichpcib_get_timecount(struct timecounter *tc);
struct timecounter ichpcib_timecounter = {
- ichpcib_get_timecount, /* get_timecount */
- 0, /* no poll_pps */
- 0xffffff, /* counter_mask */
- 3579545, /* frequency */
- "ICHPM", /* name */
- 1000, /* quality */
- NULL, /* private bits */
- 0 /* expose to user */
+ .tc_get_timecount = ichpcib_get_timecount,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = 0xffffff,
+ .tc_frequency = 3579545,
+ .tc_name = "ICHPM",
+ .tc_quality = 1000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
struct cfattach ichpcib_ca = {
Index: ./arch/i386/pci/geodesc.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/pci/geodesc.c,v
retrieving revision 1.15
diff -u -p -r1.15 geodesc.c
--- ./arch/i386/pci/geodesc.c 6 Jul 2020 13:33:07 -0000 1.15
+++ ./arch/i386/pci/geodesc.c 19 Feb 2021 02:57:56 -0000
@@ -60,14 +60,14 @@ struct cfdriver geodesc_cd = {
u_int geodesc_get_timecount(struct timecounter *tc);
struct timecounter geodesc_timecounter = {
- geodesc_get_timecount, /* get_timecount */
- 0, /* no poll_pps */
- 0xffffffff, /* counter_mask */
- 27000000, /* frequency */
- "GEOTSC", /* name */
- 2000, /* quality */
- NULL, /* private bits */
- 0 /* expose to user */
+ .tc_get_timecount = geodesc_get_timecount,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 27000000,
+ .tc_name = "GEOTSC",
+ .tc_quality = 2000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
int
Index: ./arch/macppc/macppc/clock.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/macppc/clock.c,v
retrieving revision 1.47
diff -u -p -r1.47 clock.c
--- ./arch/macppc/macppc/clock.c 26 Aug 2020 03:29:06 -0000 1.47
+++ ./arch/macppc/macppc/clock.c 19 Feb 2021 02:57:56 -0000
@@ -57,7 +57,14 @@ u_int32_t ns_per_tick = 320;
static int32_t ticks_per_intr;
static struct timecounter tb_timecounter = {
- tb_get_timecount, NULL, 0xffffffff, 0, "tb", 0, NULL, TC_TB
+ .tc_get_timecount = tb_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "tb",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = TC_TB,
};
/* calibrate the timecounter frequency for the listed models */
Index: ./arch/mips64/mips64/mips64_machdep.c
===================================================================
RCS file: /cvs/src/sys/arch/mips64/mips64/mips64_machdep.c,v
retrieving revision 1.34
diff -u -p -r1.34 mips64_machdep.c
--- ./arch/mips64/mips64/mips64_machdep.c 13 Jan 2021 16:28:49 -0000
1.34
+++ ./arch/mips64/mips64/mips64_machdep.c 19 Feb 2021 02:57:56 -0000
@@ -267,14 +267,14 @@ delay(int n)
u_int cp0_get_timecount(struct timecounter *);
struct timecounter cp0_timecounter = {
- cp0_get_timecount, /* get_timecount */
- 0, /* no poll_pps */
- 0xffffffff, /* counter_mask */
- 0, /* frequency */
- "CP0", /* name */
- 0, /* quality */
- NULL, /* private bits */
- 0, /* expose to user */
+ .tc_get_timecount = cp0_get_timecount,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "CP0",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
u_int
Index: ./arch/sparc64/dev/psycho.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/dev/psycho.c,v
retrieving revision 1.77
diff -u -p -r1.77 psycho.c
--- ./arch/sparc64/dev/psycho.c 6 Jul 2020 13:33:08 -0000 1.77
+++ ./arch/sparc64/dev/psycho.c 19 Feb 2021 02:57:56 -0000
@@ -127,7 +127,14 @@ extern struct sparc_pci_chipset _sparc_p
u_int stick_get_timecount(struct timecounter *);
struct timecounter stick_timecounter = {
- stick_get_timecount, NULL, ~0u, 0, "stick", 1000, NULL, 0
+ .tc_get_timecount = stick_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = ~0u,
+ .tc_frequency = 0,
+ .tc_name = "stick",
+ .tc_quality = 1000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
/*
Index: ./arch/sparc64/sparc64/clock.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/sparc64/clock.c,v
retrieving revision 1.67
diff -u -p -r1.67 clock.c
--- ./arch/sparc64/sparc64/clock.c 20 Oct 2020 15:59:17 -0000 1.67
+++ ./arch/sparc64/sparc64/clock.c 19 Feb 2021 02:57:56 -0000
@@ -109,8 +109,14 @@ struct cfdriver clock_cd = {
u_int tick_get_timecount(struct timecounter *);
struct timecounter tick_timecounter = {
- tick_get_timecount, NULL, ~0u, 0, "tick", 0,
- NULL, TC_TICK
+ .tc_get_timecount = tick_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = ~0u,
+ .tc_frequency = 0,
+ .tc_name = "tick",
+ .tc_quality = 0,
+ .tc_priv = NULL,
+ .tc_user = TC_TICK,
};
u_int sys_tick_get_timecount(struct timecounter *);
Index: ./arch/powerpc64/powerpc64/clock.c
===================================================================
RCS file: /cvs/src/sys/arch/powerpc64/powerpc64/clock.c,v
retrieving revision 1.2
diff -u -p -r1.2 clock.c
--- ./arch/powerpc64/powerpc64/clock.c 12 Jul 2020 20:32:20 -0000 1.2
+++ ./arch/powerpc64/powerpc64/clock.c 19 Feb 2021 02:57:56 -0000
@@ -37,7 +37,13 @@ struct evcount stat_count;
u_int tb_get_timecount(struct timecounter *);
static struct timecounter tb_timecounter = {
- tb_get_timecount, NULL, 0xffffffff, 0, "tb", 0, NULL
+ .tc_get_timecount = tb_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = "tb",
+ .tc_quality = 0,
+ .tc_priv = NULL,
};
void cpu_startclock(void);
Index: ./dev/pv/hyperv.c
===================================================================
RCS file: /cvs/src/sys/dev/pv/hyperv.c,v
retrieving revision 1.47
diff -u -p -r1.47 hyperv.c
--- ./dev/pv/hyperv.c 4 Dec 2020 03:22:46 -0000 1.47
+++ ./dev/pv/hyperv.c 19 Feb 2021 02:57:56 -0000
@@ -141,7 +141,14 @@ struct {
};
struct timecounter hv_timecounter = {
- hv_gettime, 0, 0xffffffff, 10000000, "hyperv", 9001, NULL, 0
+ .tc_get_timecount = hv_gettime,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 10000000,
+ .tc_name = "hyperv",
+ .tc_quality = 9001,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
struct cfdriver hyperv_cd = {
Index: ./dev/pv/pvclock.c
===================================================================
RCS file: /cvs/src/sys/dev/pv/pvclock.c,v
retrieving revision 1.6
diff -u -p -r1.6 pvclock.c
--- ./dev/pv/pvclock.c 6 Jul 2020 13:33:09 -0000 1.6
+++ ./dev/pv/pvclock.c 19 Feb 2021 02:57:56 -0000
@@ -74,7 +74,14 @@ struct cfdriver pvclock_cd = {
};
struct timecounter pvclock_timecounter = {
- pvclock_get_timecount, NULL, ~0u, 0, NULL, -2000, NULL, 0
+ .tc_get_timecount = pvclock_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = ~0u,
+ .tc_frequency = 0,
+ .tc_name = NULL,
+ .tc_quality = -2000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
int
Index: ./dev/acpi/acpihpet.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/acpihpet.c,v
retrieving revision 1.24
diff -u -p -r1.24 acpihpet.c
--- ./dev/acpi/acpihpet.c 6 Jul 2020 13:33:08 -0000 1.24
+++ ./dev/acpi/acpihpet.c 19 Feb 2021 02:57:56 -0000
@@ -40,14 +40,14 @@ void acpihpet_w(bus_space_tag_t _iot, b
bus_size_t _ioa, uint64_t _val);
static struct timecounter hpet_timecounter = {
- acpihpet_gettime, /* get_timecount */
- 0, /* no poll_pps */
- 0xffffffff, /* counter_mask (32 bits) */
- 0, /* frequency */
- 0, /* name */
- 1000, /* quality */
- NULL, /* private bits */
- 0, /* expose to user */
+ .tc_get_timecount = acpihpet_gettime,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = 0,
+ .tc_name = 0,
+ .tc_quality = 1000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
#define HPET_TIMERS 3
Index: ./dev/acpi/acpitimer.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/acpitimer.c,v
retrieving revision 1.13
diff -u -p -r1.13 acpitimer.c
--- ./dev/acpi/acpitimer.c 6 Jul 2020 13:33:08 -0000 1.13
+++ ./dev/acpi/acpitimer.c 19 Feb 2021 02:57:56 -0000
@@ -31,14 +31,14 @@ void acpitimerattach(struct device *, st
u_int acpi_get_timecount(struct timecounter *tc);
static struct timecounter acpi_timecounter = {
- acpi_get_timecount, /* get_timecount */
- 0, /* no poll_pps */
- 0x00ffffff, /* counter_mask (24 bits) */
- ACPI_FREQUENCY, /* frequency */
- 0, /* name */
- 1000, /* quality */
- NULL, /* private bits */
- 0, /* expose to user */
+ .tc_get_timecount = acpi_get_timecount,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = 0x00ffffff, /* 24 bits */
+ .tc_frequency = ACPI_FREQUENCY,
+ .tc_name = 0,
+ .tc_quality = 1000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
struct acpitimer_softc {
Index: ./dev/pci/amdpm.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/amdpm.c,v
retrieving revision 1.36
diff -u -p -r1.36 amdpm.c
--- ./dev/pci/amdpm.c 6 Jul 2020 13:33:09 -0000 1.36
+++ ./dev/pci/amdpm.c 19 Feb 2021 02:57:56 -0000
@@ -77,14 +77,14 @@ u_int amdpm_get_timecount(struct timecou
#endif
static struct timecounter amdpm_timecounter = {
- amdpm_get_timecount, /* get_timecount */
- 0, /* no poll_pps */
- 0xffffff, /* counter_mask */
- AMDPM_FREQUENCY, /* frequency */
- "AMDPM", /* name */
- 1000, /* quality */
- NULL, /* private bits */
- 0, /* expose to user */
+ .tc_get_timecount = amdpm_get_timecount,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = 0xffffff,
+ .tc_frequency = AMDPM_FREQUENCY,
+ .tc_name = "AMDPM",
+ .tc_quality = 1000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
#define AMDPM_CONFREG 0x40
Index: ./dev/pci/viapm.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/viapm.c,v
retrieving revision 1.19
diff -u -p -r1.19 viapm.c
--- ./dev/pci/viapm.c 6 Jul 2020 13:33:09 -0000 1.19
+++ ./dev/pci/viapm.c 19 Feb 2021 02:57:56 -0000
@@ -172,14 +172,14 @@ u_int viapm_get_timecount(struct timecou
#endif
static struct timecounter viapm_timecounter = {
- viapm_get_timecount, /* get_timecount */
- 0, /* no poll_pps */
- 0xffffff, /* counter_mask */
- VIAPM_FREQUENCY, /* frequency */
- "VIAPM", /* name */
- 1000, /* quality */
- NULL, /* private bits */
- 0, /* expose to user */
+ .tc_get_timecount = viapm_get_timecount,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = 0xffffff,
+ .tc_frequency = VIAPM_FREQUENCY,
+ .tc_name = "VIAPM",
+ .tc_quality = 1000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
struct timeout viapm_timeout;
Index: ./kern/kern_tc.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_tc.c,v
retrieving revision 1.70
diff -u -p -r1.70 kern_tc.c
--- ./kern/kern_tc.c 5 Dec 2020 04:46:34 -0000 1.70
+++ ./kern/kern_tc.c 19 Feb 2021 02:57:56 -0000
@@ -55,7 +55,14 @@ dummy_get_timecount(struct timecounter *
}
static struct timecounter dummy_timecounter = {
- dummy_get_timecount, 0, ~0u, 1000000, "dummy", -1000000, NULL, 0
+ .tc_get_timecount = dummy_get_timecount,
+ .tc_poll_pps = 0,
+ .tc_counter_mask = ~0u,
+ .tc_frequency = 1000000,
+ .tc_name = "dummy",
+ .tc_quality = -1000000,
+ .tc_priv = NULL,
+ .tc_user = 0,
};
/*