forked from Minki/linux
fd1fea6834
Hyper-V clock/timer code and data structures are currently mixed in with other code in the ISA independent drivers/hv directory as well as the ISA dependent Hyper-V code under arch/x86. Consolidate this code and data structures into a Hyper-V clocksource driver to better follow the Linux model. In doing so, separate out the ISA dependent portions so the new clocksource driver works for x86 and for the in-process Hyper-V on ARM64 code. To start, move the existing clockevents code to create the new clocksource driver. Update the VMbus driver to call initialization and cleanup routines since the Hyper-V synthetic timers are not independently enumerated in ACPI. No behavior is changed and no new functionality is added. Suggested-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Michael Kelley <mikelley@microsoft.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com> Cc: "bp@alien8.de" <bp@alien8.de> Cc: "will.deacon@arm.com" <will.deacon@arm.com> Cc: "catalin.marinas@arm.com" <catalin.marinas@arm.com> Cc: "mark.rutland@arm.com" <mark.rutland@arm.com> Cc: "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org> Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org> Cc: "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org> Cc: "olaf@aepfle.de" <olaf@aepfle.de> Cc: "apw@canonical.com" <apw@canonical.com> Cc: "jasowang@redhat.com" <jasowang@redhat.com> Cc: "marcelo.cerri@canonical.com" <marcelo.cerri@canonical.com> Cc: Sunil Muthuswamy <sunilmut@microsoft.com> Cc: KY Srinivasan <kys@microsoft.com> Cc: "sashal@kernel.org" <sashal@kernel.org> Cc: "vincenzo.frascino@arm.com" <vincenzo.frascino@arm.com> Cc: "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org> Cc: "linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org> Cc: "linux-kselftest@vger.kernel.org" <linux-kselftest@vger.kernel.org> Cc: "arnd@arndb.de" <arnd@arndb.de> Cc: "linux@armlinux.org.uk" <linux@armlinux.org.uk> Cc: "ralf@linux-mips.org" <ralf@linux-mips.org> Cc: "paul.burton@mips.com" <paul.burton@mips.com> Cc: "daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org> Cc: "salyzyn@android.com" <salyzyn@android.com> Cc: "pcc@google.com" <pcc@google.com> Cc: "shuah@kernel.org" <shuah@kernel.org> Cc: "0x7f454c46@gmail.com" <0x7f454c46@gmail.com> Cc: "linux@rasmusvillemoes.dk" <linux@rasmusvillemoes.dk> Cc: "huw@codeweavers.com" <huw@codeweavers.com> Cc: "sfr@canb.auug.org.au" <sfr@canb.auug.org.au> Cc: "pbonzini@redhat.com" <pbonzini@redhat.com> Cc: "rkrcmar@redhat.com" <rkrcmar@redhat.com> Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org> Link: https://lkml.kernel.org/r/1561955054-1838-2-git-send-email-mikelley@microsoft.com
90 lines
4.0 KiB
Makefile
90 lines
4.0 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-$(CONFIG_TIMER_OF) += timer-of.o
|
|
obj-$(CONFIG_TIMER_PROBE) += timer-probe.o
|
|
obj-$(CONFIG_ATMEL_PIT) += timer-atmel-pit.o
|
|
obj-$(CONFIG_ATMEL_ST) += timer-atmel-st.o
|
|
obj-$(CONFIG_ATMEL_TCB_CLKSRC) += timer-atmel-tcb.o
|
|
obj-$(CONFIG_X86_PM_TIMER) += acpi_pm.o
|
|
obj-$(CONFIG_SCx200HR_TIMER) += scx200_hrt.o
|
|
obj-$(CONFIG_CS5535_CLOCK_EVENT_SRC) += timer-cs5535.o
|
|
obj-$(CONFIG_CLKSRC_JCORE_PIT) += jcore-pit.o
|
|
obj-$(CONFIG_SH_TIMER_CMT) += sh_cmt.o
|
|
obj-$(CONFIG_SH_TIMER_MTU2) += sh_mtu2.o
|
|
obj-$(CONFIG_RENESAS_OSTM) += renesas-ostm.o
|
|
obj-$(CONFIG_SH_TIMER_TMU) += sh_tmu.o
|
|
obj-$(CONFIG_EM_TIMER_STI) += em_sti.o
|
|
obj-$(CONFIG_CLKBLD_I8253) += i8253.o
|
|
obj-$(CONFIG_CLKSRC_MMIO) += mmio.o
|
|
obj-$(CONFIG_DAVINCI_TIMER) += timer-davinci.o
|
|
obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o
|
|
obj-$(CONFIG_OMAP_DM_TIMER) += timer-ti-dm.o
|
|
obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o
|
|
obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o
|
|
obj-$(CONFIG_FTTMR010_TIMER) += timer-fttmr010.o
|
|
obj-$(CONFIG_IXP4XX_TIMER) += timer-ixp4xx.o
|
|
obj-$(CONFIG_ROCKCHIP_TIMER) += timer-rockchip.o
|
|
obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o
|
|
obj-$(CONFIG_CLKSRC_DBX500_PRCMU) += clksrc-dbx500-prcmu.o
|
|
obj-$(CONFIG_ARMADA_370_XP_TIMER) += timer-armada-370-xp.o
|
|
obj-$(CONFIG_ORION_TIMER) += timer-orion.o
|
|
obj-$(CONFIG_BCM2835_TIMER) += bcm2835_timer.o
|
|
obj-$(CONFIG_CLPS711X_TIMER) += clps711x-timer.o
|
|
obj-$(CONFIG_ATLAS7_TIMER) += timer-atlas7.o
|
|
obj-$(CONFIG_MXS_TIMER) += mxs_timer.o
|
|
obj-$(CONFIG_CLKSRC_PXA) += timer-pxa.o
|
|
obj-$(CONFIG_PRIMA2_TIMER) += timer-prima2.o
|
|
obj-$(CONFIG_U300_TIMER) += timer-u300.o
|
|
obj-$(CONFIG_SUN4I_TIMER) += timer-sun4i.o
|
|
obj-$(CONFIG_SUN5I_HSTIMER) += timer-sun5i.o
|
|
obj-$(CONFIG_MESON6_TIMER) += timer-meson6.o
|
|
obj-$(CONFIG_TEGRA_TIMER) += timer-tegra.o
|
|
obj-$(CONFIG_VT8500_TIMER) += timer-vt8500.o
|
|
obj-$(CONFIG_NSPIRE_TIMER) += timer-zevio.o
|
|
obj-$(CONFIG_BCM_KONA_TIMER) += bcm_kona_timer.o
|
|
obj-$(CONFIG_CADENCE_TTC_TIMER) += timer-cadence-ttc.o
|
|
obj-$(CONFIG_CLKSRC_EFM32) += timer-efm32.o
|
|
obj-$(CONFIG_CLKSRC_STM32) += timer-stm32.o
|
|
obj-$(CONFIG_CLKSRC_EXYNOS_MCT) += exynos_mct.o
|
|
obj-$(CONFIG_CLKSRC_LPC32XX) += timer-lpc32xx.o
|
|
obj-$(CONFIG_CLKSRC_MPS2) += mps2-timer.o
|
|
obj-$(CONFIG_CLKSRC_SAMSUNG_PWM) += samsung_pwm_timer.o
|
|
obj-$(CONFIG_FSL_FTM_TIMER) += timer-fsl-ftm.o
|
|
obj-$(CONFIG_VF_PIT_TIMER) += timer-vf-pit.o
|
|
obj-$(CONFIG_CLKSRC_QCOM) += timer-qcom.o
|
|
obj-$(CONFIG_MTK_TIMER) += timer-mediatek.o
|
|
obj-$(CONFIG_CLKSRC_PISTACHIO) += timer-pistachio.o
|
|
obj-$(CONFIG_CLKSRC_TI_32K) += timer-ti-32k.o
|
|
obj-$(CONFIG_CLKSRC_NPS) += timer-nps.o
|
|
obj-$(CONFIG_OXNAS_RPS_TIMER) += timer-oxnas-rps.o
|
|
obj-$(CONFIG_OWL_TIMER) += timer-owl.o
|
|
obj-$(CONFIG_MILBEAUT_TIMER) += timer-milbeaut.o
|
|
obj-$(CONFIG_SPRD_TIMER) += timer-sprd.o
|
|
obj-$(CONFIG_NPCM7XX_TIMER) += timer-npcm7xx.o
|
|
obj-$(CONFIG_RDA_TIMER) += timer-rda.o
|
|
|
|
obj-$(CONFIG_ARC_TIMERS) += arc_timer.o
|
|
obj-$(CONFIG_ARM_ARCH_TIMER) += arm_arch_timer.o
|
|
obj-$(CONFIG_ARM_GLOBAL_TIMER) += arm_global_timer.o
|
|
obj-$(CONFIG_ARMV7M_SYSTICK) += armv7m_systick.o
|
|
obj-$(CONFIG_ARM_TIMER_SP804) += timer-sp804.o
|
|
obj-$(CONFIG_ARCH_HAS_TICK_BROADCAST) += dummy_timer.o
|
|
obj-$(CONFIG_KEYSTONE_TIMER) += timer-keystone.o
|
|
obj-$(CONFIG_INTEGRATOR_AP_TIMER) += timer-integrator-ap.o
|
|
obj-$(CONFIG_CLKSRC_VERSATILE) += timer-versatile.o
|
|
obj-$(CONFIG_CLKSRC_MIPS_GIC) += mips-gic-timer.o
|
|
obj-$(CONFIG_CLKSRC_TANGO_XTAL) += timer-tango-xtal.o
|
|
obj-$(CONFIG_CLKSRC_IMX_GPT) += timer-imx-gpt.o
|
|
obj-$(CONFIG_CLKSRC_IMX_TPM) += timer-imx-tpm.o
|
|
obj-$(CONFIG_TIMER_IMX_SYS_CTR) += timer-imx-sysctr.o
|
|
obj-$(CONFIG_ASM9260_TIMER) += asm9260_timer.o
|
|
obj-$(CONFIG_H8300_TMR8) += h8300_timer8.o
|
|
obj-$(CONFIG_H8300_TMR16) += h8300_timer16.o
|
|
obj-$(CONFIG_H8300_TPU) += h8300_tpu.o
|
|
obj-$(CONFIG_CLKSRC_ST_LPC) += clksrc_st_lpc.o
|
|
obj-$(CONFIG_X86_NUMACHIP) += numachip.o
|
|
obj-$(CONFIG_ATCPIT100_TIMER) += timer-atcpit100.o
|
|
obj-$(CONFIG_RISCV_TIMER) += timer-riscv.o
|
|
obj-$(CONFIG_CSKY_MP_TIMER) += timer-mp-csky.o
|
|
obj-$(CONFIG_GX6605S_TIMER) += timer-gx6605s.o
|
|
obj-$(CONFIG_HYPERV_TIMER) += hyperv_timer.o
|