浏览代码

ARM: 6912/1: bcmring: Add clkdev table in init_early

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>
Jiandong Zheng 14 年之前
父节点
当前提交
ede2e23456
共有 3 个文件被更改,包括 7 次插入2 次删除
  1. 1 0
      arch/arm/mach-bcmring/arch.c
  2. 5 2
      arch/arm/mach-bcmring/core.c
  3. 1 0
      arch/arm/mach-bcmring/core.h

+ 1 - 0
arch/arm/mach-bcmring/arch.c

@@ -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

+ 5 - 2
arch/arm/mach-bcmring/core.c

@@ -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));
+}

+ 1 - 0
arch/arm/mach-bcmring/core.h

@@ -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