vserver 1.9.5.x5
[linux-2.6.git] / include / asm-arm / arch-ixp2000 / io.h
index 7463a32..d6971ef 100644 (file)
 #define __ASM_ARM_ARCH_IO_H
 
 #define IO_SPACE_LIMIT         0xffffffff
-#define __mem_pci(a)           ((unsigned long)(a))
+#define __mem_pci(a)           (a)
 
 /*
  * Pick up VMALLOC_END
  */
-#define ___io(p)               ((unsigned long)((p)+IXP2000_PCI_IO_VIRT_BASE))
+#define ___io(p)               ((void __iomem *)((p)+IXP2000_PCI_IO_VIRT_BASE))
 
 /*
- * IXP200 does not do proper byte-lane conversion for PCI addresses,
+ * IXP2000 does not do proper byte-lane conversion for PCI addresses,
  * so we need to override standard functions.
  */
-#define alignb(addr)           ((addr & ~3) + (3 - (addr & 3)))
-#define alignw(addr)           ((addr & ~2) + (2 - (addr & 2)))
+#define alignb(addr)           (((unsigned long)addr & ~3) + (3 - ((unsigned long)addr & 3)))
+#define alignw(addr)           (((unsigned long)addr & ~2) + (2 - ((unsigned long)addr & 2)))
 
 #define outb(v,p)              __raw_writeb(v,alignb(___io(p)))
 #define outw(v,p)              __raw_writew((v),alignw(___io(p)))