Linux-2.6.12-rc2
[linux-2.6/next.git] / arch / sh / kernel / io.c
blobd9932f25993b744a328e3451681080e040efed35
1 /*
2 * linux/arch/sh/kernel/io.c
4 * Copyright (C) 2000 Stuart Menefy
6 * Provide real functions which expand to whatever the header file defined.
7 * Also definitions of machine independent IO functions.
8 */
10 #include <asm/io.h>
11 #include <linux/module.h>
14 * Copy data from IO memory space to "real" memory space.
15 * This needs to be optimized.
17 void memcpy_fromio(void * to, unsigned long from, unsigned long count)
19 char *p = to;
20 while (count) {
21 count--;
22 *p = readb(from);
23 p++;
24 from++;
29 * Copy data from "real" memory space to IO memory space.
30 * This needs to be optimized.
32 void memcpy_toio(unsigned long to, const void * from, unsigned long count)
34 const char *p = from;
35 while (count) {
36 count--;
37 writeb(*p, to);
38 p++;
39 to++;
44 * "memset" on IO memory space.
45 * This needs to be optimized.
47 void memset_io(unsigned long dst, int c, unsigned long count)
49 while (count) {
50 count--;
51 writeb(c, dst);
52 dst++;
56 EXPORT_SYMBOL(memcpy_fromio);
57 EXPORT_SYMBOL(memcpy_toio);
58 EXPORT_SYMBOL(memset_io);