ARM: msm: io: Change the default static iomappings to be shared
authorRohit Vaswani <rvaswani@codeaurora.org>
Fri, 7 Sep 2012 20:05:56 +0000 (13:05 -0700)
committerDavid Brown <davidb@codeaurora.org>
Thu, 13 Sep 2012 17:42:55 +0000 (10:42 -0700)
With 3.4 kernel the static iomappings can be shared with the ioremap
mappings. If ioremap is called with an address for which a static
mapping already exists, then that mapping should be used instead
of creating a new one.

However, the MT_DEVICE_NONSHARED flag prevents this. Hence, get rid
of this flag. Some targets (7X00) that require the static iomappings
to be NONSHARED use the MSM_DEVICE_TYPE and MSM_CHIP_DEVICE_TYPE macros.

Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
arch/arm/mach-msm/io.c

index 2409c0b299f01a01dda34164dcb1143343aa78cf..af43f6acd7fc30c99467cc99034840719e743bdb 100644 (file)
 
 #include <mach/board.h>
 
-#define MSM_CHIP_DEVICE(name, chip) {                        \
+#define MSM_CHIP_DEVICE_TYPE(name, chip, mem_type) {                         \
                .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)
 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),
+       MSM_DEVICE_TYPE(DEBUG_UART, MT_DEVICE_NONSHARED),
 #endif
        {
                .virtual =  (unsigned long) MSM_SHARED_RAM_BASE,