ARM: integrator: ensure ap_syscon_base is initialised when !CONFIG_MMU

When running on Integrator/AP using atags, ap_syscon_base is initialised
in ->map_io, which isn't called for !MMU platforms.

Instead, initialise the pointer in ->machine_init, as we do when booting
with device-tree.

Cc: stable@vger.kernel.org
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Will Deacon 2013-02-06 18:25:12 +00:00 committed by Olof Johansson
parent c1226ff9af
commit ab2a724a2e

View File

@ -613,7 +613,6 @@ static struct map_desc ap_io_desc_atag[] __initdata = {
static void __init ap_map_io_atag(void)
{
iotable_init(ap_io_desc_atag, ARRAY_SIZE(ap_io_desc_atag));
ap_syscon_base = __io_address(INTEGRATOR_SC_BASE);
ap_map_io();
}
@ -685,6 +684,7 @@ static void __init ap_init(void)
platform_device_register(&cfi_flash_device);
ap_syscon_base = __io_address(INTEGRATOR_SC_BASE);
sc_dec = readl(ap_syscon_base + INTEGRATOR_SC_DEC_OFFSET);
for (i = 0; i < 4; i++) {
struct lm_device *lmdev;