diff options
author | Jiandong Zheng <jdzheng@broadcom.com> | 2011-05-19 01:36:57 +0200 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-05-23 19:04:54 +0200 |
commit | ede2e23456c1a4b9ce038bb4ed095ed442b1b07e (patch) | |
tree | eb7f7df27c4918572a3457a8cff8cebe51092ef0 /arch/arm/mach-bcmring | |
parent | clockevents: ARM sp804: obtain sp804 timer rate via clks (diff) | |
download | linux-ede2e23456c1a4b9ce038bb4ed095ed442b1b07e.tar.xz linux-ede2e23456c1a4b9ce038bb4ed095ed442b1b07e.zip |
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>
Diffstat (limited to 'arch/arm/mach-bcmring')
-rw-r--r-- | arch/arm/mach-bcmring/arch.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-bcmring/core.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-bcmring/core.h | 1 |
3 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/mach-bcmring/arch.c b/arch/arm/mach-bcmring/arch.c index 73eb066d2329..a604b9ebb501 100644 --- a/arch/arm/mach-bcmring/arch.c +++ b/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 diff --git a/arch/arm/mach-bcmring/core.c b/arch/arm/mach-bcmring/core.c index 8fc2035759fb..eca20ed228b3 100644 --- a/arch/arm/mach-bcmring/core.c +++ b/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)); +} diff --git a/arch/arm/mach-bcmring/core.h b/arch/arm/mach-bcmring/core.h index b197ba48e36e..e0e02c48f9b1 100644 --- a/arch/arm/mach-bcmring/core.h +++ b/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 |