ARM: 6912/1: bcmring: Add clkdev table in init_early
authorJiandong Zheng <jdzheng@broadcom.com>
Wed, 18 May 2011 23:36:57 +0000 (00:36 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 23 May 2011 17:04:54 +0000 (18:04 +0100)
Move adding clkdev table to init_early to make sure the common sp804 clockevents can be initialized properly.

Signed-off-by: Jiandong Zheng <jdzheng@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-bcmring/arch.c
arch/arm/mach-bcmring/core.c
arch/arm/mach-bcmring/core.h

index 73eb066..a604b9e 100644 (file)
@@ -169,6 +169,7 @@ MACHINE_START(BCMRING, "BCMRING")
        /* Maintainer: Broadcom Corporation */
        .fixup = bcmring_fixup,
        .map_io = bcmring_map_io,
+       .init_early = bcmring_init_early,
        .init_irq = bcmring_init_irq,
        .timer = &bcmring_timer,
        .init_machine = bcmring_init_machine
index 8fc2035..eca20ed 100644 (file)
@@ -151,8 +151,6 @@ void __init bcmring_amba_init(void)
 
        chipcHw_busInterfaceClockEnable(bus_clock);
 
-       clkdev_add_table(lookups, ARRAY_SIZE(lookups));
-
        for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
                struct amba_device *d = amba_devs[i];
                amba_device_register(d, &iomem_resource);
@@ -365,3 +363,8 @@ void __init bcmring_init_timer(void)
 struct sys_timer bcmring_timer = {
        .init = bcmring_init_timer,
 };
+
+void __init bcmring_init_early(void)
+{
+       clkdev_add_table(lookups, ARRAY_SIZE(lookups));
+}
index b197ba4..e0e02c4 100644 (file)
@@ -25,6 +25,7 @@
 void __init bcmring_amba_init(void);
 void __init bcmring_map_io(void);
 void __init bcmring_init_irq(void);
+void __init bcmring_init_early(void);
 
 extern struct sys_timer bcmring_timer;
 #endif