summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64/io.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-01-04 16:03:48 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-01-04 16:03:48 +0000
commit78c388aed2b7184182c08428db1de6c872d815f5 (patch)
tree4b2003b1b4ceb241a17faa995da8dd1004bb8e45 /include/asm-sparc64/io.h
parenteb7a5bf93aaa4be1d7c6181100ab7639e74d67f7 (diff)
Merge with Linux 2.1.131 and more MIPS goodies.
(Did I mention that CVS is buggy ...)
Diffstat (limited to 'include/asm-sparc64/io.h')
-rw-r--r--include/asm-sparc64/io.h42
1 files changed, 31 insertions, 11 deletions
diff --git a/include/asm-sparc64/io.h b/include/asm-sparc64/io.h
index a6bdff9a3..c9e3c8460 100644
--- a/include/asm-sparc64/io.h
+++ b/include/asm-sparc64/io.h
@@ -1,4 +1,4 @@
-/* $Id: io.h,v 1.18 1998/07/12 12:07:43 ecd Exp $ */
+/* $Id: io.h,v 1.19 1998/08/23 05:41:46 ecd Exp $ */
#ifndef __SPARC64_IO_H
#define __SPARC64_IO_H
@@ -127,7 +127,10 @@ extern void insl(unsigned long addr, void *dst, unsigned long count);
#define writew(w, addr) outw((w), (unsigned long)(addr))
#define writel(l, addr) outl((l), (unsigned long)(addr))
-/* Memcpy to/from I/O space is just a regular memory operation on Ultra as well. */
+/*
+ * Memcpy to/from I/O space is just a regular memory operation on
+ * Ultra as well.
+ */
/*
* FIXME: Write faster routines using ASL_*L for this.
@@ -170,7 +173,7 @@ memcpy_toio(void *dst, const void *src, __kernel_size_t n)
#if 0 /* XXX Not exactly, we need to use ASI_*L from/to the I/O end,
* XXX so these are disabled until we code that stuff.
*/
-#define eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),((char *)(b)),(c),(d))
+#define eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),((char *)(b)),(c),(d))
#endif
static inline int check_signature(unsigned long io_addr,
@@ -187,22 +190,39 @@ out:
return retval;
}
-extern void sparc_ultra_mapioaddr (unsigned long physaddr, unsigned long virt_addr,
- int bus, int rdonly);
-extern void sparc_ultra_unmapioaddr (unsigned long virt_addr);
+/*
+ * On the sparc we have the whole physical IO address space mapped at all
+ * times, so ioremap() and iounmap() do not need to do anything.
+ */
+extern __inline__ void *ioremap(unsigned long offset, unsigned long size)
+{
+ return __va(offset);
+}
+
+extern __inline__ void iounmap(void *addr)
+{
+}
+
+
+extern void sparc_ultra_mapioaddr(unsigned long physaddr,
+ unsigned long virt_addr,
+ int bus, int rdonly);
+extern void sparc_ultra_unmapioaddr(unsigned long virt_addr);
-extern __inline__ void mapioaddr (unsigned long physaddr, unsigned long virt_addr,
- int bus, int rdonly)
+extern __inline__ void mapioaddr(unsigned long physaddr,
+ unsigned long virt_addr,
+ int bus, int rdonly)
{
- sparc_ultra_mapioaddr (physaddr, virt_addr, bus, rdonly);
+ sparc_ultra_mapioaddr(physaddr, virt_addr, bus, rdonly);
}
extern __inline__ void unmapioaddr(unsigned long virt_addr)
{
- sparc_ultra_unmapioaddr (virt_addr);
+ sparc_ultra_unmapioaddr(virt_addr);
}
-extern void *sparc_alloc_io (u32 pa, void *va, int sz, char *name, u32 io, int rdonly);
+extern void *sparc_alloc_io(u32 pa, void *va, int sz, char *name,
+ u32 io, int rdonly);
extern void sparc_free_io (void *va, int sz);
extern void *sparc_dvma_malloc (int sz, char *name, __u32 *dvma_addr);