pxa27x_clocks_init();
        if (cpu_is_pxa3xx())
                pxa3xx_clocks_init();
-       pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000),
-                           get_clock_tick_rate());
+       pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000));
 }
 
 /*
 
 
 void __init sa1100_timer_init(void)
 {
-       pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x90000000), 3686400);
+       pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x90000000));
 }
 
 static struct resource irq_resource =
 
 /*
  * Legacy timer init for non device-tree boards.
  */
-void __init pxa_timer_nodt_init(int irq, void __iomem *base,
-       unsigned long clock_tick_rate)
+void __init pxa_timer_nodt_init(int irq, void __iomem *base)
 {
        struct clk *clk;
 
        timer_base = base;
        clk = clk_get(NULL, "OSTIMER0");
-       if (clk && !IS_ERR(clk))
+       if (clk && !IS_ERR(clk)) {
                clk_prepare_enable(clk);
-       else
+               pxa_timer_common_init(irq, clk_get_rate(clk));
+       } else {
                pr_crit("%s: unable to get clk\n", __func__);
-
-       pxa_timer_common_init(irq, clock_tick_rate);
+       }
 }
 
 #ifndef _CLOCKSOURCE_PXA_H
 #define _CLOCKSOURCE_PXA_H
 
-extern void pxa_timer_nodt_init(int irq, void __iomem *base,
-                          unsigned long clock_tick_rate);
+extern void pxa_timer_nodt_init(int irq, void __iomem *base);
 
 #endif