[ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant
As Nicolas and Russell pointed out, CLOCK_TICK_RATE is no more a constant on PXA when multiple processors and platforms are selected, change TIMER_FREQ in rtc-sa1100.c into a variable. Since the code to decide the clock tick rate is re-used from timer.c, introduce a common get_clock_tick_rate() for this. Signed-off-by: Eric Miao <eric.miao@marvell.com> Acked-by: Nicolas Pitre <nico@marvell.com>
This commit is contained in:
@@ -23,7 +23,6 @@
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/mach/time.h>
|
||||
#include <mach/pxa-regs.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
/*
|
||||
* This is PXA's sched_clock implementation. This has a resolution
|
||||
@@ -150,18 +149,11 @@ static struct irqaction pxa_ost0_irq = {
|
||||
|
||||
static void __init pxa_timer_init(void)
|
||||
{
|
||||
unsigned long clock_tick_rate;
|
||||
unsigned long clock_tick_rate = get_clock_tick_rate();
|
||||
|
||||
OIER = 0;
|
||||
OSSR = OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3;
|
||||
|
||||
if (cpu_is_pxa25x())
|
||||
clock_tick_rate = 3686400;
|
||||
else if (machine_is_mainstone())
|
||||
clock_tick_rate = 3249600;
|
||||
else
|
||||
clock_tick_rate = 3250000;
|
||||
|
||||
set_oscr2ns_scale(clock_tick_rate);
|
||||
|
||||
ckevt_pxa_osmr0.mult =
|
||||
|
Reference in New Issue
Block a user