ARM: bcm2835: Skip doing our own iotable_init() initialization
authorEric Anholt <eric@anholt.net>
Thu, 23 Apr 2015 17:49:11 +0000 (10:49 -0700)
committerLee Jones <lee.jones@linaro.org>
Thu, 14 May 2015 09:04:17 +0000 (10:04 +0100)
The only thing we were using this 16MB mapping of IO peripherals for
was the uart's early debug mapping.  If we just drop the map_io hook,
the kernel will call debug_ll_io_init() for us, which maps the single
page needed for the device.

Signed-off-by: Eric Anholt <eric@anholt.net>
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
arch/arm/mach-bcm/board_bcm2835.c

index 70f2f3925f0e8e08487abb20b55ba580c4026c43..9851ee8e5e87798f32f598b6013feb947b0dde35 100644 (file)
 #define PM_RSTC_WRCFG_FULL_RESET       0x00000020
 #define PM_RSTS_HADWRH_SET             0x00000040
 
-#define BCM2835_PERIPH_PHYS    0x20000000
-#define BCM2835_PERIPH_VIRT    0xf0000000
-#define BCM2835_PERIPH_SIZE    SZ_16M
-
 static void __iomem *wdt_regs;
 
 /*
@@ -93,18 +89,6 @@ static void bcm2835_power_off(void)
        bcm2835_restart(REBOOT_HARD, "");
 }
 
-static struct map_desc io_map __initdata = {
-       .virtual = BCM2835_PERIPH_VIRT,
-       .pfn = __phys_to_pfn(BCM2835_PERIPH_PHYS),
-       .length = BCM2835_PERIPH_SIZE,
-       .type = MT_DEVICE
-};
-
-static void __init bcm2835_map_io(void)
-{
-       iotable_init(&io_map, 1);
-}
-
 static void __init bcm2835_init(void)
 {
        int ret;
@@ -129,7 +113,6 @@ static const char * const bcm2835_compat[] = {
 };
 
 DT_MACHINE_START(BCM2835, "BCM2835")
-       .map_io = bcm2835_map_io,
        .init_irq = irqchip_init,
        .init_machine = bcm2835_init,
        .restart = bcm2835_restart,