]> Pileus Git - ~andy/linux/blobdiff - arch/arm/mach-highbank/highbank.c
Merge tag 'for-linus' of git://github.com/realmz/blackfin-linux
[~andy/linux] / arch / arm / mach-highbank / highbank.c
index a4f9f50247d4e9e4f5dc008436145b9a204bc2cb..e7df2dd43a40f5d8c956aef5721fd504a90f8b5b 100644 (file)
@@ -15,6 +15,7 @@
  */
 #include <linux/clk.h>
 #include <linux/clkdev.h>
+#include <linux/clocksource.h>
 #include <linux/dma-mapping.h>
 #include <linux/io.h>
 #include <linux/irq.h>
 #include <linux/amba/bus.h>
 #include <linux/clk-provider.h>
 
-#include <asm/arch_timer.h>
 #include <asm/cacheflush.h>
 #include <asm/cputype.h>
 #include <asm/smp_plat.h>
-#include <asm/smp_twd.h>
-#include <asm/hardware/arm_timer.h>
-#include <asm/hardware/timer-sp.h>
 #include <asm/hardware/cache-l2x0.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
@@ -91,38 +88,18 @@ static void __init highbank_init_irq(void)
 #endif
 }
 
-static struct clk_lookup lookup = {
-       .dev_id = "sp804",
-       .con_id = NULL,
-};
-
 static void __init highbank_timer_init(void)
 {
-       int irq;
        struct device_node *np;
-       void __iomem *timer_base;
 
        /* Map system registers */
        np = of_find_compatible_node(NULL, NULL, "calxeda,hb-sregs");
        sregs_base = of_iomap(np, 0);
        WARN_ON(!sregs_base);
 
-       np = of_find_compatible_node(NULL, NULL, "arm,sp804");
-       timer_base = of_iomap(np, 0);
-       WARN_ON(!timer_base);
-       irq = irq_of_parse_and_map(np, 0);
-
        of_clk_init(NULL);
-       lookup.clk = of_clk_get(np, 0);
-       clkdev_add(&lookup);
-
-       sp804_clocksource_and_sched_clock_init(timer_base + 0x20, "timer1");
-       sp804_clockevents_init(timer_base, irq, "timer0");
-
-       twd_local_timer_of_register();
 
-       arch_timer_of_register();
-       arch_timer_sched_clock_init();
+       clocksource_of_init();
 }
 
 static void highbank_power_off(void)