},
  };
  
 -static struct map_desc mackerel_io_desc[] __initdata = {
 -      /* create a 1:1 entity map for 0xe6xxxxxx
 -       * used by CPGA, INTC and PFC.
 -       */
 -      {
 -              .virtual        = 0xe6000000,
 -              .pfn            = __phys_to_pfn(0xe6000000),
 -              .length         = 256 << 20,
 -              .type           = MT_DEVICE_NONSHARED
 -      },
 -};
 -
+ static void __init mackerel_map_io(void)
+ {
 -      iotable_init(mackerel_io_desc, ARRAY_SIZE(mackerel_io_desc));
++      sh7372_map_io();
+       /* DMA memory at 0xff200000 - 0xffdfffff. The default 2MB size isn't
+        * enough to allocate the frame buffer memory.
+        */
+       init_consistent_dma_size(12 << 20);
 -
 -      /* setup early devices and console here as well */
 -      sh7372_add_early_devices();
 -      shmobile_setup_console();
+ }
+ 
  #define GPIO_PORT9CR  0xE6051009
  #define GPIO_PORT10CR 0xE605100A
  #define GPIO_PORT167CR        0xE60520A7
        pm_clk_add(&hdmi_lcdc_device.dev, "hdmi");
  }
  
 -static void __init mackerel_timer_init(void)
 -{
 -      sh7372_clock_init();
 -      shmobile_timer.init();
 -
 -      /* External clock source */
 -      clk_set_rate(&sh7372_dv_clki_clk, 27000000);
 -}
 -
 -static struct sys_timer mackerel_timer = {
 -      .init           = mackerel_timer_init,
 -};
 -
  MACHINE_START(MACKEREL, "mackerel")
-       .map_io         = sh7372_map_io,
+       .map_io         = mackerel_map_io,
 +      .init_early     = sh7372_add_early_devices,
        .init_irq       = sh7372_init_irq,
        .handle_irq     = shmobile_handle_irq_intc,
        .init_machine   = mackerel_init,