From: Will Deacon Date: Wed, 6 Feb 2013 18:25:12 +0000 (+0000) Subject: ARM: integrator: ensure ap_syscon_base is initialised when !CONFIG_MMU X-Git-Url: http://git.mmlx.us/?a=commitdiff_plain;h=ab2a724a2ef9cee5957692257a5d1f08fd7acbbd;p=linux-edison.git 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 Signed-off-by: Will Deacon Signed-off-by: Olof Johansson --- diff --git a/arch/arm/mach-integrator/integrator_ap.c b/arch/arm/mach-integrator/integrator_ap.c index 11e2a414580..26762bf4130 100644 --- a/arch/arm/mach-integrator/integrator_ap.c +++ b/arch/arm/mach-integrator/integrator_ap.c @@ -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;