linux/drivers/clocksource
Thierry Reding 4a7d3e8a99 clocksource: arch_timer: Do not register arch_sys_counter twice
Commit:

   65cd4f6 ("arch_timer: Move to generic sched_clock framework")

added code to register the arch_sys_counter in arch_timer_register(),
but it is already registered in arch_counter_register().

This results in the timer being added to the clocksource list twice,
therefore causing an infinite loop in the list.

Remove the duplicate registration and register the scheduler
clock after the original registration instead.

This fixes a hang during boot on Tegra114 (Cortex-A15).

[ While I've only tested this on Tegra114, I suspect the same hang
  during boot happens for all processors that use this clock source. ]

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: John Stultz <john.stultz@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: http://lkml.kernel.org/r/1381843911-31962-1-git-send-email-treding@nvidia.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-10-16 08:30:03 +02:00
..
acpi_pm.c treewide: Fix printks with 0x%# 2013-08-27 10:49:38 +02:00
arm_arch_timer.c clocksource: arch_timer: Do not register arch_sys_counter twice 2013-10-16 08:30:03 +02:00
arm_global_timer.c clocksource/arm_global_timer: Set FEAT_PERCPU flag 2013-10-02 11:33:46 +02:00
bcm2835_timer.c clocksource: bcm2835: Switch to sched_clock_register() 2013-07-30 11:24:51 -07:00
bcm_kona_timer.c ARM: DT: binding fixup to align with vendor-prefixes.txt (drivers) 2013-08-20 10:51:38 -07:00
cadence_ttc_timer.c clocksource: cadence_ttc: Reuse clocksource as sched_clock 2013-07-18 15:27:34 +02:00
clksrc-dbx500-prcmu.c clocksource: dbx500-prcmu: Switch to sched_clock_register() 2013-07-30 11:24:52 -07:00
clksrc-of.c Merge branch 'clockevents/3.13' of git://git.linaro.org/people/dlezcano/linux into timers/core 2013-10-03 07:57:02 +02:00
cs5535-clockevt.c clocksource: use clockevents_config_and_register() where possible 2013-01-14 10:12:42 -08:00
cyclone.c clocksource: cyclone: Add missing iounmap 2012-01-26 19:30:40 -08:00
dummy_timer.c clocksource+irqchip: delete __cpuinit usage from all related files 2013-07-14 19:36:57 -04:00
dw_apb_timer_of.c clocksource: dw_apb_timer_of: Mark a few more functions as __init 2013-10-02 11:43:15 +02:00
dw_apb_timer.c Revert "dw_apb_timer_of.c: Remove parts that were picoxcell-specific" 2013-06-18 16:02:04 -07:00
em_sti.c clocksource: em_sti: Set cpu_possible_mask to fix SMP broadcast 2013-09-26 02:31:04 +02:00
exynos_mct.c clocksource: exynos_mct: Set IRQ affinity when the CPU goes online 2013-09-26 02:30:15 +02:00
i8253.c time: Kill xtime_lock, replacing it with jiffies_lock 2012-11-13 14:08:23 -05:00
Kconfig Merge branch 'timer_evtstrm' of git://linux-arm.org/linux-skn into clockevents/3.13 2013-10-03 16:13:51 +02:00
Makefile ARM: clocksource: Add support for MOXA ART SoCs 2013-07-18 15:27:47 +02:00
metag_generic.c clocksource+irqchip: delete __cpuinit usage from all related files 2013-07-14 19:36:57 -04:00
mmio.c clocksource: add common mmio clocksource 2011-05-23 18:04:51 +01:00
moxart_timer.c ARM: clocksource: moxart: Add bitops.h include 2013-08-01 01:13:34 +02:00
mxs_timer.c clocksource: mxs_timer: Switch to sched_clock_register() 2013-07-30 11:24:52 -07:00
nomadik-mtu.c Merge remote-tracking branch 'tip/timers/core' into fordlezcano/3.13/sched-clock64-conversion 2013-09-26 12:05:54 -07:00
samsung_pwm_timer.c Merge remote-tracking branch 'tip/timers/core' into fordlezcano/3.13/sched-clock64-conversion 2013-09-26 12:05:54 -07:00
scx200_hrt.c clocksource: scx200_hrt: Fix the build 2012-02-22 13:25:16 +01:00
sh_cmt.c clocksource: sh_cmt: 32-bit control register support 2013-08-22 00:18:45 +02:00
sh_mtu2.c clocksource: sh_mtu2: Set initcall level to subsys 2013-03-13 02:24:37 +09:00
sh_tmu.c clocksource: sh_tmu: Set initcall level to subsys 2013-03-13 02:24:36 +09:00
sun4i_timer.c clocksource: sun4i: Fix bug when switching from periodic to oneshot modes 2013-07-18 15:27:21 +02:00
tcb_clksrc.c clocksource: tcb_clksrc: Remove IRQF_DISABLED 2013-10-03 16:28:40 +02:00
tegra20_timer.c clocksource: Put nodes passed to CLOCKSOURCE_OF_DECLARE callbacks centrally 2013-10-02 11:42:48 +02:00
time-armada-370-xp.c Merge remote-tracking branch 'tip/timers/core' into fordlezcano/3.13/sched-clock64-conversion 2013-09-26 12:05:54 -07:00
time-orion.c clocksource: orion: Use linux/sched_clock.h 2013-07-17 20:28:00 -07:00
timer-marco.c Now that we have a generic arch hook for broadcast we can remove the local 2013-07-23 16:54:15 -07:00
timer-prima2.c clocksource: sirf: Switch to sched_clock_register() and use 64 bits 2013-07-30 11:24:55 -07:00
vf_pit_timer.c clocksource: vf_pit_timer: Switch to sched_clock_register() 2013-07-30 11:24:56 -07:00
vt8500_timer.c clocksource: Put nodes passed to CLOCKSOURCE_OF_DECLARE callbacks centrally 2013-10-02 11:42:48 +02:00
zevio-timer.c clocksource: Add TI-Nspire timer support 2013-06-06 17:23:13 +02:00