diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-01-11 08:00:04 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-02-19 06:09:33 -0500 |
commit | c735c9873d0c2f269fd16f4b04903da41a44cbcf (patch) | |
tree | c06f2fb2d072bd1ee35abf88c56fd838b92ed840 | |
parent | 0fb44b910f6873c49066e8d0bf681a058fc01b67 (diff) |
ARM: integrator: use new init_early for clock tree init
Initialize the clock tree early.
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/mach-integrator/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-integrator/core.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-integrator/integrator_ap.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-integrator/integrator_cp.c | 11 |
4 files changed, 17 insertions, 5 deletions
diff --git a/arch/arm/mach-integrator/common.h b/arch/arm/mach-integrator/common.h index 5f96e1518aa9..a08f9b0299df 100644 --- a/arch/arm/mach-integrator/common.h +++ b/arch/arm/mach-integrator/common.h | |||
@@ -1 +1,2 @@ | |||
1 | void integrator_init_early(void); | ||
1 | void integrator_reserve(void); | 2 | void integrator_reserve(void); |
diff --git a/arch/arm/mach-integrator/core.c b/arch/arm/mach-integrator/core.c index b8e884b450da..77315b995681 100644 --- a/arch/arm/mach-integrator/core.c +++ b/arch/arm/mach-integrator/core.c | |||
@@ -144,12 +144,15 @@ static struct clk_lookup lookups[] = { | |||
144 | } | 144 | } |
145 | }; | 145 | }; |
146 | 146 | ||
147 | void __init integrator_init_early(void) | ||
148 | { | ||
149 | clkdev_add_table(lookups, ARRAY_SIZE(lookups)); | ||
150 | } | ||
151 | |||
147 | static int __init integrator_init(void) | 152 | static int __init integrator_init(void) |
148 | { | 153 | { |
149 | int i; | 154 | int i; |
150 | 155 | ||
151 | clkdev_add_table(lookups, ARRAY_SIZE(lookups)); | ||
152 | |||
153 | for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { | 156 | for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { |
154 | struct amba_device *d = amba_devs[i]; | 157 | struct amba_device *d = amba_devs[i]; |
155 | amba_device_register(d, &iomem_resource); | 158 | amba_device_register(d, &iomem_resource); |
diff --git a/arch/arm/mach-integrator/integrator_ap.c b/arch/arm/mach-integrator/integrator_ap.c index b666443b5cbb..4f06b5d72489 100644 --- a/arch/arm/mach-integrator/integrator_ap.c +++ b/arch/arm/mach-integrator/integrator_ap.c | |||
@@ -499,8 +499,9 @@ static struct sys_timer ap_timer = { | |||
499 | MACHINE_START(INTEGRATOR, "ARM-Integrator") | 499 | MACHINE_START(INTEGRATOR, "ARM-Integrator") |
500 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ | 500 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ |
501 | .boot_params = 0x00000100, | 501 | .boot_params = 0x00000100, |
502 | .map_io = ap_map_io, | ||
503 | .reserve = integrator_reserve, | 502 | .reserve = integrator_reserve, |
503 | .map_io = ap_map_io, | ||
504 | .init_early = integrator_init_early, | ||
504 | .init_irq = ap_init_irq, | 505 | .init_irq = ap_init_irq, |
505 | .timer = &ap_timer, | 506 | .timer = &ap_timer, |
506 | .init_machine = ap_init, | 507 | .init_machine = ap_init, |
diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index 9c0203738aae..e6700aab849a 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c | |||
@@ -520,11 +520,17 @@ static struct amba_device *amba_devs[] __initdata = { | |||
520 | &clcd_device, | 520 | &clcd_device, |
521 | }; | 521 | }; |
522 | 522 | ||
523 | static void __init intcp_init_early(void) | ||
524 | { | ||
525 | clkdev_add_table(cp_lookups, ARRAY_SIZE(cp_lookups)); | ||
526 | |||
527 | integrator_init_early(); | ||
528 | } | ||
529 | |||
523 | static void __init intcp_init(void) | 530 | static void __init intcp_init(void) |
524 | { | 531 | { |
525 | int i; | 532 | int i; |
526 | 533 | ||
527 | clkdev_add_table(cp_lookups, ARRAY_SIZE(cp_lookups)); | ||
528 | platform_add_devices(intcp_devs, ARRAY_SIZE(intcp_devs)); | 534 | platform_add_devices(intcp_devs, ARRAY_SIZE(intcp_devs)); |
529 | 535 | ||
530 | for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { | 536 | for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { |
@@ -554,8 +560,9 @@ static struct sys_timer cp_timer = { | |||
554 | MACHINE_START(CINTEGRATOR, "ARM-IntegratorCP") | 560 | MACHINE_START(CINTEGRATOR, "ARM-IntegratorCP") |
555 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ | 561 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ |
556 | .boot_params = 0x00000100, | 562 | .boot_params = 0x00000100, |
557 | .map_io = intcp_map_io, | ||
558 | .reserve = integrator_reserve, | 563 | .reserve = integrator_reserve, |
564 | .map_io = intcp_map_io, | ||
565 | .init_early = intcp_init_early, | ||
559 | .init_irq = intcp_init_irq, | 566 | .init_irq = intcp_init_irq, |
560 | .timer = &cp_timer, | 567 | .timer = &cp_timer, |
561 | .init_machine = intcp_init, | 568 | .init_machine = intcp_init, |