diff options
author | Robert Jarzmik <robert.jarzmik@free.fr> | 2016-09-19 15:12:13 -0400 |
---|---|---|
committer | Robert Jarzmik <robert.jarzmik@free.fr> | 2016-10-18 03:12:36 -0400 |
commit | f4e14edf25661f32c9e7323d8a482b8632a6f47f (patch) | |
tree | a778fa00549bd28efe7c6ed27c56e1348b8d4aff /drivers/clocksource | |
parent | a758c9b93f5c4e826b3c0849c96c630b1cce8f8d (diff) |
ARM: sa11x0/pxa: acquire timer rate from the clock rate
As both pxa and sa1100 provide a clock to the timer, the rate can be
inferred from the clock rather than hard encoded in a functional call.
This patch changes the pxa timer to have a mandatory clock which is used
as the timer rate.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'drivers/clocksource')
-rw-r--r-- | drivers/clocksource/pxa_timer.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/clocksource/pxa_timer.c b/drivers/clocksource/pxa_timer.c index 3e1cb512f3ce..9cae38eebec2 100644 --- a/drivers/clocksource/pxa_timer.c +++ b/drivers/clocksource/pxa_timer.c | |||
@@ -220,17 +220,16 @@ CLOCKSOURCE_OF_DECLARE(pxa_timer, "marvell,pxa-timer", pxa_timer_dt_init); | |||
220 | /* | 220 | /* |
221 | * Legacy timer init for non device-tree boards. | 221 | * Legacy timer init for non device-tree boards. |
222 | */ | 222 | */ |
223 | void __init pxa_timer_nodt_init(int irq, void __iomem *base, | 223 | void __init pxa_timer_nodt_init(int irq, void __iomem *base) |
224 | unsigned long clock_tick_rate) | ||
225 | { | 224 | { |
226 | struct clk *clk; | 225 | struct clk *clk; |
227 | 226 | ||
228 | timer_base = base; | 227 | timer_base = base; |
229 | clk = clk_get(NULL, "OSTIMER0"); | 228 | clk = clk_get(NULL, "OSTIMER0"); |
230 | if (clk && !IS_ERR(clk)) | 229 | if (clk && !IS_ERR(clk)) { |
231 | clk_prepare_enable(clk); | 230 | clk_prepare_enable(clk); |
232 | else | 231 | pxa_timer_common_init(irq, clk_get_rate(clk)); |
232 | } else { | ||
233 | pr_crit("%s: unable to get clk\n", __func__); | 233 | pr_crit("%s: unable to get clk\n", __func__); |
234 | 234 | } | |
235 | pxa_timer_common_init(irq, clock_tick_rate); | ||
236 | } | 235 | } |