},
  };
  
 -static struct map_desc ap4evb_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 ap4evb_map_io(void)
 -{
 -      iotable_init(ap4evb_io_desc, ARRAY_SIZE(ap4evb_io_desc));
 -
 -      /*
 -       * 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 USCCR1                0xE6058144
 
        },
  };
  
 -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)
--{
-       sh7372_map_io();
 -      iotable_init(mackerel_io_desc, ARRAY_SIZE(mackerel_io_desc));
--      /* 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         = mackerel_map_io,
++      .map_io         = sh7372_map_io,
 +      .init_early     = sh7372_add_early_devices,
        .init_irq       = sh7372_init_irq,
        .handle_irq     = shmobile_handle_irq_intc,
        .init_machine   = mackerel_init,
 
  #include <linux/sh_intc.h>
  #include <linux/sh_timer.h>
  #include <linux/pm_domain.h>
++#include <linux/dma-mapping.h>
  #include <mach/hardware.h>
  #include <mach/sh7372.h>
 +#include <mach/common.h>
 +#include <asm/mach/map.h>
  #include <asm/mach-types.h>
  #include <asm/mach/arch.h>
 +#include <asm/mach/time.h>
 +
 +static struct map_desc sh7372_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
 +      },
 +};
 +
 +void __init sh7372_map_io(void)
 +{
 +      iotable_init(sh7372_io_desc, ARRAY_SIZE(sh7372_io_desc));
++
++      /*
++       * DMA memory at 0xff200000 - 0xffdfffff. The default 2MB size isn't
++       * enough to allocate the frame buffer memory.
++       */
++      init_consistent_dma_size(12 << 20);
 +}
  
  /* SCIFA0 */
  static struct plat_sci_port scif0_platform_data = {