drivers: hv: Decouple Hyper-V clock/timer code from VMbus drivers
authorMichael Kelley <mikelley@microsoft.com>
Wed, 14 Jul 2021 00:01:46 +0000 (17:01 -0700)
committerWei Liu <wei.liu@kernel.org>
Mon, 19 Jul 2021 09:24:28 +0000 (09:24 +0000)
commit31e5e64694cf9879e63b2802007fa934f4131126
treed2efd0afb5e7073fd3c47f1d663126a9c57705a3
parent5f92b45c3b67e3d222caf10e2eb898af31756b67
drivers: hv: Decouple Hyper-V clock/timer code from VMbus drivers

Hyper-V clock/timer code in hyperv_timer.c is mostly independent from
other VMbus drivers, but building for ARM64 without hyperv_timer.c
shows some remaining entanglements.  A default implementation of
hv_read_reference_counter can just read a Hyper-V synthetic register
and be independent of hyperv_timer.c, so move this code out and into
hv_common.c. Then it can be used by the timesync driver even if
hyperv_timer.c isn't built on a particular architecture.  If
hyperv_timer.c *is* built, it can override with a faster implementation.

Also provide stubs for stimer functions called by the VMbus driver when
hyperv_timer.c isn't built.

No functional changes.

Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/1626220906-22629-1-git-send-email-mikelley@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
drivers/clocksource/hyperv_timer.c
drivers/hv/hv_common.c
drivers/hv/hv_util.c
include/asm-generic/mshyperv.h
include/clocksource/hyperv_timer.h