OSDN Git Service

ARM: lpc32xx: use __iomem pointers for MMIO
authorArnd Bergmann <arnd@arndb.de>
Fri, 14 Sep 2012 20:20:24 +0000 (20:20 +0000)
committerArnd Bergmann <arnd@arndb.de>
Wed, 19 Sep 2012 13:19:14 +0000 (15:19 +0200)
ARM is moving to stricter checks on readl/write functions,
so we need to use the correct types everywhere.

Cc: Roland Stigge <stigge@antcom.de>
Cc: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/mach-lpc32xx/common.c
arch/arm/mach-lpc32xx/include/mach/hardware.h

index a48dc2d..0d4db8c 100644 (file)
@@ -177,25 +177,25 @@ u32 clk_get_pclk_div(void)
 
 static struct map_desc lpc32xx_io_desc[] __initdata = {
        {
-               .virtual        = IO_ADDRESS(LPC32XX_AHB0_START),
+               .virtual        = (unsigned long)IO_ADDRESS(LPC32XX_AHB0_START),
                .pfn            = __phys_to_pfn(LPC32XX_AHB0_START),
                .length         = LPC32XX_AHB0_SIZE,
                .type           = MT_DEVICE
        },
        {
-               .virtual        = IO_ADDRESS(LPC32XX_AHB1_START),
+               .virtual        = (unsigned long)IO_ADDRESS(LPC32XX_AHB1_START),
                .pfn            = __phys_to_pfn(LPC32XX_AHB1_START),
                .length         = LPC32XX_AHB1_SIZE,
                .type           = MT_DEVICE
        },
        {
-               .virtual        = IO_ADDRESS(LPC32XX_FABAPB_START),
+               .virtual        = (unsigned long)IO_ADDRESS(LPC32XX_FABAPB_START),
                .pfn            = __phys_to_pfn(LPC32XX_FABAPB_START),
                .length         = LPC32XX_FABAPB_SIZE,
                .type           = MT_DEVICE
        },
        {
-               .virtual        = IO_ADDRESS(LPC32XX_IRAM_BASE),
+               .virtual        = (unsigned long)IO_ADDRESS(LPC32XX_IRAM_BASE),
                .pfn            = __phys_to_pfn(LPC32XX_IRAM_BASE),
                .length         = (LPC32XX_IRAM_BANK_SIZE * 2),
                .type           = MT_DEVICE
index 33e1dde..69065de 100644 (file)
@@ -25,7 +25,7 @@
 /*
  * This macro relies on fact that for all HW i/o addresses bits 20-23 are 0
  */
-#define IO_ADDRESS(x)  (((((x) & 0xff000000) >> 4) | ((x) & 0xfffff)) |\
+#define IO_ADDRESS(x)  IOMEM(((((x) & 0xff000000) >> 4) | ((x) & 0xfffff)) |\
                         IO_BASE)
 
 #define io_p2v(x)      ((void __iomem *) (unsigned long) IO_ADDRESS(x))