Merge branch 'misc.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / lib / logic_iomem.c
index b76b92d..9bdfde0 100644 (file)
@@ -6,6 +6,7 @@
 #include <linux/types.h>
 #include <linux/slab.h>
 #include <linux/logic_iomem.h>
+#include <asm/io.h>
 
 struct logic_iomem_region {
        const struct resource *res;
@@ -78,7 +79,7 @@ static void __iomem *real_ioremap(phys_addr_t offset, size_t size)
 static void real_iounmap(void __iomem *addr)
 {
        WARN(1, "invalid iounmap for addr 0x%llx\n",
-            (unsigned long long)addr);
+            (unsigned long long __force)addr);
 }
 #endif /* CONFIG_LOGIC_IOMEM_FALLBACK */
 
@@ -172,14 +173,15 @@ EXPORT_SYMBOL(iounmap);
 static u##sz real_raw_read ## op(const volatile void __iomem *addr)    \
 {                                                                      \
        WARN(1, "Invalid read" #op " at address %llx\n",                \
-            (unsigned long long)addr);                                 \
+            (unsigned long long __force)addr);                         \
        return (u ## sz)~0ULL;                                          \
 }                                                                      \
                                                                        \
-void real_raw_write ## op(u ## sz val, volatile void __iomem *addr)    \
+static void real_raw_write ## op(u ## sz val,                          \
+                                volatile void __iomem *addr)           \
 {                                                                      \
        WARN(1, "Invalid writeq" #op " of 0x%llx at address %llx\n",    \
-            (unsigned long long)val, (unsigned long long)addr);        \
+            (unsigned long long)val, (unsigned long long __force)addr);\
 }                                                                      \
 
 MAKE_FALLBACK(b, 8);
@@ -192,14 +194,14 @@ MAKE_FALLBACK(q, 64);
 static void real_memset_io(volatile void __iomem *addr, int value, size_t size)
 {
        WARN(1, "Invalid memset_io at address 0x%llx\n",
-            (unsigned long long)addr);
+            (unsigned long long __force)addr);
 }
 
 static void real_memcpy_fromio(void *buffer, const volatile void __iomem *addr,
                               size_t size)
 {
        WARN(1, "Invalid memcpy_fromio at address 0x%llx\n",
-            (unsigned long long)addr);
+            (unsigned long long __force)addr);
 
        memset(buffer, 0xff, size);
 }
@@ -208,7 +210,7 @@ static void real_memcpy_toio(volatile void __iomem *addr, const void *buffer,
                             size_t size)
 {
        WARN(1, "Invalid memcpy_toio at address 0x%llx\n",
-            (unsigned long long)addr);
+            (unsigned long long __force)addr);
 }
 #endif /* CONFIG_LOGIC_IOMEM_FALLBACK */