forked from Minki/linux
064706514e
Several architectures have a dummy timer driver tightly coupled with
their broadcast code to support machines without cpu-local timers (or
where there is a lack of driver support).
Since 12ad100046
: "clockevents: Add generic timer broadcast function"
it's been possible to write broadcast-capable timer drivers decoupled
from the broadcast mechanism. We can use this functionality to implement
a generic dummy timer driver that can be shared by all architectures
with generic tick broadcast (ARCH_HAS_TICK_BROADCAST).
This patch implements a generic dummy timer using this facility.
[sboyd: Make percpu data static, use __this_cpu_ptr(), move to
early_initcall to properly register on each CPU, only
register if more than one CPU possible]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>,
Cc: John Stultz <john.stultz@linaro.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/1370291642-13259-3-git-send-email-sboyd@codeaurora.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
35 lines
1.5 KiB
Makefile
35 lines
1.5 KiB
Makefile
obj-$(CONFIG_CLKSRC_OF) += clksrc-of.o
|
|
obj-$(CONFIG_ATMEL_TCB_CLKSRC) += tcb_clksrc.o
|
|
obj-$(CONFIG_X86_CYCLONE_TIMER) += cyclone.o
|
|
obj-$(CONFIG_X86_PM_TIMER) += acpi_pm.o
|
|
obj-$(CONFIG_SCx200HR_TIMER) += scx200_hrt.o
|
|
obj-$(CONFIG_CS5535_CLOCK_EVENT_SRC) += cs5535-clockevt.o
|
|
obj-$(CONFIG_SH_TIMER_CMT) += sh_cmt.o
|
|
obj-$(CONFIG_SH_TIMER_MTU2) += sh_mtu2.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_DW_APB_TIMER) += dw_apb_timer.o
|
|
obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o
|
|
obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o
|
|
obj-$(CONFIG_CLKSRC_DBX500_PRCMU) += clksrc-dbx500-prcmu.o
|
|
obj-$(CONFIG_ARMADA_370_XP_TIMER) += time-armada-370-xp.o
|
|
obj-$(CONFIG_ARCH_BCM2835) += bcm2835_timer.o
|
|
obj-$(CONFIG_ARCH_MARCO) += timer-marco.o
|
|
obj-$(CONFIG_ARCH_MXS) += mxs_timer.o
|
|
obj-$(CONFIG_ARCH_PRIMA2) += timer-prima2.o
|
|
obj-$(CONFIG_SUN4I_TIMER) += sun4i_timer.o
|
|
obj-$(CONFIG_ARCH_TEGRA) += tegra20_timer.o
|
|
obj-$(CONFIG_VT8500_TIMER) += vt8500_timer.o
|
|
obj-$(CONFIG_ARCH_NSPIRE) += zevio-timer.o
|
|
obj-$(CONFIG_ARCH_BCM) += bcm_kona_timer.o
|
|
obj-$(CONFIG_CADENCE_TTC_TIMER) += cadence_ttc_timer.o
|
|
obj-$(CONFIG_CLKSRC_EXYNOS_MCT) += exynos_mct.o
|
|
obj-$(CONFIG_CLKSRC_SAMSUNG_PWM) += samsung_pwm_timer.o
|
|
obj-$(CONFIG_VF_PIT_TIMER) += vf_pit_timer.o
|
|
|
|
obj-$(CONFIG_ARM_ARCH_TIMER) += arm_arch_timer.o
|
|
obj-$(CONFIG_CLKSRC_METAG_GENERIC) += metag_generic.o
|
|
obj-$(CONFIG_ARCH_HAS_TICK_BROADCAST) += dummy_timer.o
|