diff options
author | Tony Lindgren <tony@atomide.com> | 2011-10-04 21:17:41 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-10-19 19:34:11 -0400 |
commit | 4c3cf90117f1f4906d5975aeccc5ffd414807fd2 (patch) | |
tree | 97ffb9d131b69b694229bd8c2f7f27303ee6d4d0 /arch/arm/mach-omap2/io.c | |
parent | a66cb3454f220f49f900646ebdc76cb943319eb7 (diff) |
ARM: OMAP: Move set_globals initialization to happen in init_early
Otherwise we can't do generic map_io as we currently rely on
static mappings that work only because of arch_ioremap.
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/io.c')
-rw-r--r-- | arch/arm/mach-omap2/io.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index b42bbb8f252d..d5caac3698dd 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include "clockdomain.h" | 44 | #include "clockdomain.h" |
45 | #include <plat/omap_hwmod.h> | 45 | #include <plat/omap_hwmod.h> |
46 | #include <plat/multi.h> | 46 | #include <plat/multi.h> |
47 | #include <plat/common.h> | ||
47 | 48 | ||
48 | /* | 49 | /* |
49 | * The machine specific code may provide the extra mapping besides the | 50 | * The machine specific code may provide the extra mapping besides the |
@@ -359,6 +360,7 @@ static void __init omap_hwmod_init_postsetup(void) | |||
359 | 360 | ||
360 | void __init omap2420_init_early(void) | 361 | void __init omap2420_init_early(void) |
361 | { | 362 | { |
363 | omap2_set_globals_242x(); | ||
362 | omap_common_init_early(); | 364 | omap_common_init_early(); |
363 | omap2xxx_voltagedomains_init(); | 365 | omap2xxx_voltagedomains_init(); |
364 | omap242x_powerdomains_init(); | 366 | omap242x_powerdomains_init(); |
@@ -370,6 +372,7 @@ void __init omap2420_init_early(void) | |||
370 | 372 | ||
371 | void __init omap2430_init_early(void) | 373 | void __init omap2430_init_early(void) |
372 | { | 374 | { |
375 | omap2_set_globals_243x(); | ||
373 | omap_common_init_early(); | 376 | omap_common_init_early(); |
374 | omap2xxx_voltagedomains_init(); | 377 | omap2xxx_voltagedomains_init(); |
375 | omap243x_powerdomains_init(); | 378 | omap243x_powerdomains_init(); |
@@ -385,6 +388,7 @@ void __init omap2430_init_early(void) | |||
385 | */ | 388 | */ |
386 | void __init omap3_init_early(void) | 389 | void __init omap3_init_early(void) |
387 | { | 390 | { |
391 | omap2_set_globals_3xxx(); | ||
388 | omap_common_init_early(); | 392 | omap_common_init_early(); |
389 | omap3xxx_voltagedomains_init(); | 393 | omap3xxx_voltagedomains_init(); |
390 | omap3xxx_powerdomains_init(); | 394 | omap3xxx_powerdomains_init(); |
@@ -416,11 +420,19 @@ void __init am35xx_init_early(void) | |||
416 | 420 | ||
417 | void __init ti816x_init_early(void) | 421 | void __init ti816x_init_early(void) |
418 | { | 422 | { |
419 | omap3_init_early(); | 423 | omap2_set_globals_ti816x(); |
424 | omap_common_init_early(); | ||
425 | omap3xxx_voltagedomains_init(); | ||
426 | omap3xxx_powerdomains_init(); | ||
427 | omap3xxx_clockdomains_init(); | ||
428 | omap3xxx_hwmod_init(); | ||
429 | omap_hwmod_init_postsetup(); | ||
430 | omap3xxx_clk_init(); | ||
420 | } | 431 | } |
421 | 432 | ||
422 | void __init omap4430_init_early(void) | 433 | void __init omap4430_init_early(void) |
423 | { | 434 | { |
435 | omap2_set_globals_443x(); | ||
424 | omap_common_init_early(); | 436 | omap_common_init_early(); |
425 | omap44xx_voltagedomains_init(); | 437 | omap44xx_voltagedomains_init(); |
426 | omap44xx_powerdomains_init(); | 438 | omap44xx_powerdomains_init(); |