RT-AC66 3.0.0.4.374.130 core
[tomato.git] / release / src-rt-6.x / linux / linux-2.6 / arch / arm / kernel / io.c
blob1f6822dfae7404fd57218537f1d67e1252351ffe
1 #include <linux/module.h>
2 #include <linux/types.h>
4 #include <asm/io.h>
6 /*
7 * Copy data from IO memory space to "real" memory space.
8 * This needs to be optimized.
9 */
10 void _memcpy_fromio(void *to, const volatile void __iomem *from, size_t count)
12 unsigned char *t = to;
13 while (count) {
14 count--;
15 *t = readb(from);
16 t++;
17 from++;
22 * Copy data from "real" memory space to IO memory space.
23 * This needs to be optimized.
25 void _memcpy_toio(volatile void __iomem *to, const void *from, size_t count)
27 const unsigned char *f = from;
28 while (count) {
29 count--;
30 writeb(*f, to);
31 f++;
32 to++;
37 * "memset" on IO memory space.
38 * This needs to be optimized.
40 void _memset_io(volatile void __iomem *dst, int c, size_t count)
42 while (count) {
43 count--;
44 writeb(c, dst);
45 dst++;
49 EXPORT_SYMBOL(_memcpy_fromio);
50 EXPORT_SYMBOL(_memcpy_toio);
51 EXPORT_SYMBOL(_memset_io);