clocksource: convert ARM 32-bit up counting clocksources
Convert ixp4xx, lpc32xx, mxc, netx, pxa, sa1100, tcc8k, tegra and u300 to use the generic mmio clocksource recently introduced. Cc: Imre Kaloz <kaloz@openwrt.org> Cc: Krzysztof Halasa <khc@pm.waw.pl> Acked-by: Eric Miao <eric.y.miao@gmail.com> Acked-by: "Hans J. Koch" <hjk@hansjkoch.de> Acked-by: Colin Cross <ccross@android.com> Cc: Erik Gilling <konkers@android.com> Cc: Olof Johansson <olof@lixom.net> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
@@ -333,20 +333,6 @@ static struct irqaction u300_timer_irq = {
|
||||
.handler = u300_timer_interrupt,
|
||||
};
|
||||
|
||||
/* Use general purpose timer 2 as clock source */
|
||||
static cycle_t u300_get_cycles(struct clocksource *cs)
|
||||
{
|
||||
return (cycles_t) readl(U300_TIMER_APP_VBASE + U300_TIMER_APP_GPT2CC);
|
||||
}
|
||||
|
||||
static struct clocksource clocksource_u300_1mhz = {
|
||||
.name = "GPT2",
|
||||
.rating = 300, /* Reasonably fast and accurate clock source */
|
||||
.read = u300_get_cycles,
|
||||
.mask = CLOCKSOURCE_MASK(32), /* 32 bits */
|
||||
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
||||
};
|
||||
|
||||
/*
|
||||
* Override the global weak sched_clock symbol with this
|
||||
* local implementation which uses the clocksource to get some
|
||||
@@ -422,7 +408,9 @@ static void __init u300_timer_init(void)
|
||||
writel(U300_TIMER_APP_EGPT2_TIMER_ENABLE,
|
||||
U300_TIMER_APP_VBASE + U300_TIMER_APP_EGPT2);
|
||||
|
||||
if (clocksource_register_hz(&clocksource_u300_1mhz, rate))
|
||||
/* Use general purpose timer 2 as clock source */
|
||||
if (clocksource_mmio_init(U300_TIMER_APP_VBASE + U300_TIMER_APP_GPT2CC,
|
||||
"GPT2", rate, 300, 32, clocksource_mmio_readl_up))
|
||||
printk(KERN_ERR "timer: failed to initialize clock "
|
||||
"source %s\n", clocksource_u300_1mhz.name);
|
||||
|
||||
|
Reference in New Issue
Block a user