summaryrefslogtreecommitdiffstats
path: root/drivers/clocksource/timer-marco.c
diff options
context:
space:
mode:
authorZhiwu Song2014-05-05 13:30:04 +0200
committerBarry Song2014-05-12 15:43:49 +0200
commitc7cff54d5926e3f419c23eff2ebaf6f5e12da05d (patch)
treef5070d37732decf324f11f426f4c2c4c87239066 /drivers/clocksource/timer-marco.c
parentirqchip: sirf: fix one minor checkpatch issue (diff)
downloadkernel-qcow2-linux-c7cff54d5926e3f419c23eff2ebaf6f5e12da05d.tar.gz
kernel-qcow2-linux-c7cff54d5926e3f419c23eff2ebaf6f5e12da05d.tar.xz
kernel-qcow2-linux-c7cff54d5926e3f419c23eff2ebaf6f5e12da05d.zip
clocksource:sirf: remove the hardcode for the clk of timers
Nobody want to know the connection between io clk and timer clk, so exposing this information to timer module is not reasonable. this patch moves to define the timers' clk in dt. Signed-off-by: Zhiwu Song <Zhiwu.Song@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com>
Diffstat (limited to 'drivers/clocksource/timer-marco.c')
-rw-r--r--drivers/clocksource/timer-marco.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/clocksource/timer-marco.c b/drivers/clocksource/timer-marco.c
index b52e1c078b99..571d10974139 100644
--- a/drivers/clocksource/timer-marco.c
+++ b/drivers/clocksource/timer-marco.c
@@ -252,15 +252,13 @@ static void __init sirfsoc_clockevent_init(void)
}
/* initialize the kernel jiffy timer source */
-static void __init sirfsoc_marco_timer_init(void)
+static void __init sirfsoc_marco_timer_init(struct device_node *np)
{
unsigned long rate;
u32 timer_div;
struct clk *clk;
- /* timer's input clock is io clock */
- clk = clk_get_sys("io", NULL);
-
+ clk = of_clk_get(np, 0);
BUG_ON(IS_ERR(clk));
rate = clk_get_rate(clk);
@@ -303,6 +301,6 @@ static void __init sirfsoc_of_timer_init(struct device_node *np)
if (!sirfsoc_timer1_irq.irq)
panic("No irq passed for timer1 via DT\n");
- sirfsoc_marco_timer_init();
+ sirfsoc_marco_timer_init(np);
}
CLOCKSOURCE_OF_DECLARE(sirfsoc_marco_timer, "sirf,marco-tick", sirfsoc_of_timer_init );