summaryrefslogtreecommitdiff
path: root/include/asm-arm/arch-iop33x
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2007-02-13 17:11:04 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-02-14 15:21:21 +0000
commit6df26700c0884cb3cce2b9fa4795888f86ca4d8f (patch)
tree30444218ed615b3eb0569d8602be3e522a2d8895 /include/asm-arm/arch-iop33x
parentae0a846e411dc0b568e8ccda584896310ee5f369 (diff)
[ARM] 4182/1: iop3xx: fix the ioremap implementation to not remap static ranges
Implement a custom ioremap implementation for iop3xx. This saves establishing new mappings. It also cleans up the PCI IO resource to be a physical address rather than a virtual address as Russell pointed out on the original iop13xx port. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/arch-iop33x')
-rw-r--r--include/asm-arm/arch-iop33x/io.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/asm-arm/arch-iop33x/io.h b/include/asm-arm/arch-iop33x/io.h
index c017402bab96..1bb5071e1fa8 100644
--- a/include/asm-arm/arch-iop33x/io.h
+++ b/include/asm-arm/arch-iop33x/io.h
@@ -13,9 +13,16 @@
#include <asm/hardware.h>
+extern void __iomem * __ioremap(unsigned long, size_t, unsigned long);
+extern void __iomem *__iop3xx_ioremap(unsigned long cookie, size_t size,
+ unsigned long flags);
+extern void __iop3xx_iounmap(void __iomem *addr);
+
#define IO_SPACE_LIMIT 0xffffffff
-#define __io(p) ((void __iomem *)(p))
+#define __io(p) ((void __iomem *)IOP3XX_PCI_IO_PHYS_TO_VIRT(p))
#define __mem_pci(a) (a)
+#define __arch_ioremap(a, s, f) __iop3xx_ioremap(a, s, f)
+#define __arch_iounmap(a) __iop3xx_iounmap(a)
#endif