patch-2.3.32 linux/include/asm-arm/arch-rpc/io.h
Next file: linux/include/asm-arm/arch-sa1100/io.h
Previous file: linux/include/asm-arm/arch-nexuspci/io.h
Back to the patch index
Back to the overall index
- Lines: 38
- Date:
Mon Dec 13 16:26:27 1999
- Orig file:
v2.3.31/linux/include/asm-arm/arch-rpc/io.h
- Orig date:
Tue May 11 16:30:45 1999
diff -u --recursive --new-file v2.3.31/linux/include/asm-arm/arch-rpc/io.h linux/include/asm-arm/arch-rpc/io.h
@@ -9,11 +9,7 @@
#ifndef __ASM_ARM_ARCH_IO_H
#define __ASM_ARM_ARCH_IO_H
-/*
- * This architecture does not require any delayed IO, and
- * has the constant-optimised IO
- */
-#undef ARCH_IO_DELAY
+#define IO_SPACE_LIMIT 0xffffffff
/*
* We use two different types of addressing - PC style addresses, and ARM
@@ -25,8 +21,7 @@
#define __PORT_PCIO(x) (!((x) & 0x80000000))
/*
- * Dynamic IO functions - let the compiler
- * optimize the expressions
+ * Dynamic IO functions.
*/
extern __inline__ void __outb (unsigned int value, unsigned int port)
{
@@ -188,6 +183,14 @@
#define __ioaddrc(port) \
(__PORT_PCIO((port)) ? PCIO_BASE + ((port) << 2) : IO_BASE + ((port) << 2))
+
+#define inb(p) (__builtin_constant_p((p)) ? __inbc(p) : __inb(p))
+#define inw(p) (__builtin_constant_p((p)) ? __inwc(p) : __inw(p))
+#define inl(p) (__builtin_constant_p((p)) ? __inlc(p) : __inl(p))
+#define outb(v,p) (__builtin_constant_p((p)) ? __outbc(v,p) : __outb(v,p))
+#define outw(v,p) (__builtin_constant_p((p)) ? __outwc(v,p) : __outw(v,p))
+#define outl(v,p) (__builtin_constant_p((p)) ? __outlc(v,p) : __outl(v,p))
+#define __ioaddr(p) (__builtin_constant_p((p)) ? __ioaddr(p) : __ioaddrc(p))
/*
* Translated address IO functions
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)