|
@@ -56,13 +56,22 @@ extern void __raw_readsl(const void __iomem *addr, void *data, int longlen);
|
|
|
|
|
|
/*
|
|
|
* Architecture ioremap implementation.
|
|
|
- *
|
|
|
- * __ioremap takes CPU physical address.
|
|
|
- *
|
|
|
- * __ioremap_pfn takes a Page Frame Number and an offset into that page
|
|
|
*/
|
|
|
-extern void __iomem * __ioremap_pfn(unsigned long, unsigned long, size_t, unsigned long);
|
|
|
-extern void __iomem * __ioremap(unsigned long, size_t, unsigned long);
|
|
|
+#define MT_DEVICE 0
|
|
|
+#define MT_DEVICE_NONSHARED 1
|
|
|
+#define MT_DEVICE_CACHED 2
|
|
|
+#define MT_DEVICE_IXP2000 3
|
|
|
+/*
|
|
|
+ * types 4 onwards can be found in asm/mach/map.h and are undefined
|
|
|
+ * for ioremap
|
|
|
+ */
|
|
|
+
|
|
|
+/*
|
|
|
+ * __arm_ioremap takes CPU physical address.
|
|
|
+ * __arm_ioremap_pfn takes a Page Frame Number and an offset into that page
|
|
|
+ */
|
|
|
+extern void __iomem * __arm_ioremap_pfn(unsigned long, unsigned long, size_t, unsigned int);
|
|
|
+extern void __iomem * __arm_ioremap(unsigned long, size_t, unsigned int);
|
|
|
extern void __iounmap(volatile void __iomem *addr);
|
|
|
|
|
|
/*
|
|
@@ -203,14 +212,14 @@ extern void _memset_io(volatile void __iomem *, int, size_t);
|
|
|
*
|
|
|
*/
|
|
|
#ifndef __arch_ioremap
|
|
|
-#define ioremap(cookie,size) __ioremap(cookie,size,0)
|
|
|
-#define ioremap_nocache(cookie,size) __ioremap(cookie,size,0)
|
|
|
-#define ioremap_cached(cookie,size) __ioremap(cookie,size,L_PTE_CACHEABLE)
|
|
|
+#define ioremap(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE)
|
|
|
+#define ioremap_nocache(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE)
|
|
|
+#define ioremap_cached(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE_CACHED)
|
|
|
#define iounmap(cookie) __iounmap(cookie)
|
|
|
#else
|
|
|
-#define ioremap(cookie,size) __arch_ioremap((cookie),(size),0)
|
|
|
-#define ioremap_nocache(cookie,size) __arch_ioremap((cookie),(size),0)
|
|
|
-#define ioremap_cached(cookie,size) __arch_ioremap((cookie),(size),L_PTE_CACHEABLE)
|
|
|
+#define ioremap(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE)
|
|
|
+#define ioremap_nocache(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE)
|
|
|
+#define ioremap_cached(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE_CACHED)
|
|
|
#define iounmap(cookie) __arch_iounmap(cookie)
|
|
|
#endif
|
|
|
|