diff options
author | Jon Medhurst <tixy@linaro.org> | 2013-05-03 14:24:48 +0100 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2013-05-03 14:24:48 +0100 |
commit | 8417d689429075fe59d92af4036e25424b13ea9c (patch) | |
tree | f0d341e6eae1cd5c4ca6180aeb29a00e21ff8a8e /arch/arm/common/timer-sp.c | |
parent | 83e4a8b0fe64a97fc92f436c7eff09569352c5ed (diff) | |
parent | cee7bd6c72b15e357eb375a178532851c72e789c (diff) |
Merge branch 'tracking-armlt-arm64' into integration-linux-vexpresstracking-integration-linux-vexpress-lsk-20130505.0
Conflicts:
drivers/clk/versatile/Makefile
Diffstat (limited to 'arch/arm/common/timer-sp.c')
-rw-r--r-- | arch/arm/common/timer-sp.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/arm/common/timer-sp.c b/arch/arm/common/timer-sp.c index 9d2d3ba339f..2c64c4bc6d5 100644 --- a/arch/arm/common/timer-sp.c +++ b/arch/arm/common/timer-sp.c @@ -29,13 +29,14 @@ #include <asm/sched_clock.h> #include <asm/hardware/arm_timer.h> -static long __init sp804_get_clock_rate(const char *name) +static long __init sp804_get_clock_rate(struct clk *clk, + const char *name) { - struct clk *clk; long rate; int err; - clk = clk_get_sys("sp804", name); + if (!clk) + clk = clk_get_sys("sp804", name); if (IS_ERR(clk)) { pr_err("sp804: %s clock not found: %d\n", name, (int)PTR_ERR(clk)); @@ -77,9 +78,10 @@ static u32 sp804_read(void) void __init __sp804_clocksource_and_sched_clock_init(void __iomem *base, const char *name, + struct clk *clk, int use_sched_clock) { - long rate = sp804_get_clock_rate(name); + long rate = sp804_get_clock_rate(clk, name); if (rate < 0) return; @@ -172,10 +174,10 @@ static struct irqaction sp804_timer_irq = { }; void __init sp804_clockevents_init(void __iomem *base, unsigned int irq, - const char *name) + const char *name, struct clk *clk) { struct clock_event_device *evt = &sp804_clockevent; - long rate = sp804_get_clock_rate(name); + long rate = sp804_get_clock_rate(clk, name); if (rate < 0) return; |