diff options
Diffstat (limited to 'arch/mips/ar7/time.c')
| -rw-r--r-- | arch/mips/ar7/time.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/mips/ar7/time.c b/arch/mips/ar7/time.c index a1fba894daa..22c93213b23 100644 --- a/arch/mips/ar7/time.c +++ b/arch/mips/ar7/time.c @@ -20,11 +20,24 @@ #include <linux/init.h> #include <linux/time.h> +#include <linux/err.h> +#include <linux/clk.h> #include <asm/time.h> #include <asm/mach-ar7/ar7.h> void __init plat_time_init(void) { - mips_hpt_frequency = ar7_cpu_freq() / 2; + struct clk *cpu_clk; + + /* Initialize ar7 clocks so the CPU clock frequency is correct */ + ar7_init_clocks(); + + cpu_clk = clk_get(NULL, "cpu"); + if (IS_ERR(cpu_clk)) { + printk(KERN_ERR "unable to get cpu clock\n"); + return; + } + + mips_hpt_frequency = clk_get_rate(cpu_clk) / 2; } |
