.virtual = (unsigned long) MSM_##name##_BASE, \
                .pfn = __phys_to_pfn(chip##_##name##_PHYS), \
                .length = chip##_##name##_SIZE, \
- -             .type = MT_DEVICE_NONSHARED, \
+ +             .type = mem_type, \
         }
   
+ +#define MSM_DEVICE_TYPE(name, mem_type) \
+ +             MSM_CHIP_DEVICE_TYPE(name, MSM, mem_type)
+ +#define MSM_CHIP_DEVICE(name, chip) \
+ +             MSM_CHIP_DEVICE_TYPE(name, chip, MT_DEVICE)
   #define MSM_DEVICE(name) MSM_CHIP_DEVICE(name, MSM)
   
-- #if defined(CONFIG_ARCH_MSM7X00A) || defined(CONFIG_ARCH_MSM7X27) \
--      || defined(CONFIG_ARCH_MSM7X25)
++ #if defined(CONFIG_ARCH_MSM7X00A)
   static struct map_desc msm_io_desc[] __initdata = {
- -     MSM_DEVICE(VIC),
- -     MSM_CHIP_DEVICE(CSR, MSM7X00),
- -     MSM_DEVICE(DMOV),
- -     MSM_CHIP_DEVICE(GPIO1, MSM7X00),
- -     MSM_CHIP_DEVICE(GPIO2, MSM7X00),
- -     MSM_DEVICE(CLK_CTL),
+ +     MSM_DEVICE_TYPE(VIC, MT_DEVICE_NONSHARED),
+ +     MSM_CHIP_DEVICE_TYPE(CSR, MSM7X00, MT_DEVICE_NONSHARED),
+ +     MSM_DEVICE_TYPE(DMOV, MT_DEVICE_NONSHARED),
+ +     MSM_CHIP_DEVICE_TYPE(GPIO1, MSM7X00, MT_DEVICE_NONSHARED),
+ +     MSM_CHIP_DEVICE_TYPE(GPIO2, MSM7X00, MT_DEVICE_NONSHARED),
+ +     MSM_DEVICE_TYPE(CLK_CTL, MT_DEVICE_NONSHARED),
   #if defined(CONFIG_DEBUG_MSM_UART1) || defined(CONFIG_DEBUG_MSM_UART2) || \
        defined(CONFIG_DEBUG_MSM_UART3)
- -     MSM_DEVICE(DEBUG_UART),
- -#endif
- -#ifdef CONFIG_ARCH_MSM7X30
- -     MSM_DEVICE(GCC),
+ +     MSM_DEVICE_TYPE(DEBUG_UART, MT_DEVICE_NONSHARED),
   #endif
        {
                .virtual =  (unsigned long) MSM_SHARED_RAM_BASE,