Commit c735c987 authored by Russell King's avatar Russell King

ARM: integrator: use new init_early for clock tree init

Initialize the clock tree early.
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 0fb44b91
void integrator_init_early(void);
void integrator_reserve(void); void integrator_reserve(void);
...@@ -144,12 +144,15 @@ static struct clk_lookup lookups[] = { ...@@ -144,12 +144,15 @@ static struct clk_lookup lookups[] = {
} }
}; };
void __init integrator_init_early(void)
{
clkdev_add_table(lookups, ARRAY_SIZE(lookups));
}
static int __init integrator_init(void) static int __init integrator_init(void)
{ {
int i; int i;
clkdev_add_table(lookups, ARRAY_SIZE(lookups));
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
struct amba_device *d = amba_devs[i]; struct amba_device *d = amba_devs[i];
amba_device_register(d, &iomem_resource); amba_device_register(d, &iomem_resource);
......
...@@ -499,8 +499,9 @@ static struct sys_timer ap_timer = { ...@@ -499,8 +499,9 @@ static struct sys_timer ap_timer = {
MACHINE_START(INTEGRATOR, "ARM-Integrator") MACHINE_START(INTEGRATOR, "ARM-Integrator")
/* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */
.boot_params = 0x00000100, .boot_params = 0x00000100,
.map_io = ap_map_io,
.reserve = integrator_reserve, .reserve = integrator_reserve,
.map_io = ap_map_io,
.init_early = integrator_init_early,
.init_irq = ap_init_irq, .init_irq = ap_init_irq,
.timer = &ap_timer, .timer = &ap_timer,
.init_machine = ap_init, .init_machine = ap_init,
......
...@@ -520,11 +520,17 @@ static struct amba_device *amba_devs[] __initdata = { ...@@ -520,11 +520,17 @@ static struct amba_device *amba_devs[] __initdata = {
&clcd_device, &clcd_device,
}; };
static void __init intcp_init_early(void)
{
clkdev_add_table(cp_lookups, ARRAY_SIZE(cp_lookups));
integrator_init_early();
}
static void __init intcp_init(void) static void __init intcp_init(void)
{ {
int i; int i;
clkdev_add_table(cp_lookups, ARRAY_SIZE(cp_lookups));
platform_add_devices(intcp_devs, ARRAY_SIZE(intcp_devs)); platform_add_devices(intcp_devs, ARRAY_SIZE(intcp_devs));
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
...@@ -554,8 +560,9 @@ static struct sys_timer cp_timer = { ...@@ -554,8 +560,9 @@ static struct sys_timer cp_timer = {
MACHINE_START(CINTEGRATOR, "ARM-IntegratorCP") MACHINE_START(CINTEGRATOR, "ARM-IntegratorCP")
/* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */
.boot_params = 0x00000100, .boot_params = 0x00000100,
.map_io = intcp_map_io,
.reserve = integrator_reserve, .reserve = integrator_reserve,
.map_io = intcp_map_io,
.init_early = intcp_init_early,
.init_irq = intcp_init_irq, .init_irq = intcp_init_irq,
.timer = &cp_timer, .timer = &cp_timer,
.init_machine = intcp_init, .init_machine = intcp_init,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment