Scott Cheloha <[email protected]> writes:

> 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.

Nah, not bad at all. Could you check if you get identical object files
by chance? It would be a nice double check.

>
> 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?

If others don't mind on some grounds, I'm fairly convinced of this being
a functional no-op and so: OK gnezdo@

>
> 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,
>  };
>  
>  /*

Reply via email to