ARM: 7538/1: delay: add registration mechanism for delay timer sources
authorJonathan Austin <Jonathan.Austin@arm.com>
Fri, 21 Sep 2012 17:51:44 +0000 (18:51 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 26 Sep 2012 21:57:52 +0000 (22:57 +0100)
commit56942fec06efa0e17df0f4c3b438332c923b9014
tree89b604c987b7f6a0eaaa16af7a9d8f45711349a7
parenta1b2dde70419ae947fd7c9c8fcad7da005dc600e
ARM: 7538/1: delay: add registration mechanism for delay timer sources

The current timer-based delay loop relies on the architected timer to
initiate the switch away from the polling-based implementation. This is
unfortunate for platforms without the architected timers but with a
suitable delay source (that is, constant frequency, always powered-up
and ticking as long as the CPUs are online).

This patch introduces a registration mechanism for the delay timer
(which provides an unconditional read_current_timer implementation) and
updates the architected timer code to use the new interface.

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/arch_timer.h
arch/arm/include/asm/delay.h
arch/arm/include/asm/timex.h
arch/arm/kernel/arch_timer.c
arch/arm/lib/delay.c