2 * linux/arch/arm/lib/io-shark.c
7 * linux/arch/arm/lib/io-ebsa.S
8 * Copyright (C) 1995, 1996 Russell King
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
14 #include <linux/kernel.h>
18 void print_warning(void)
20 printk(KERN_WARNING
"ins?/outs? not implemented on this architecture\n");
23 void insl(unsigned int port
, void *to
, int len
)
28 void insb(unsigned int port
, void *to
, int len
)
33 void outsl(unsigned int port
, const void *from
, int len
)
38 void outsb(unsigned int port
, const void *from
, int len
)
43 /* these should be in assembler again */
46 * Purpose: read a block of data from a hardware register to memory.
47 * Proto : insw(int from_port, void *to, int len_in_words);
48 * Proto : inswb(int from_port, void *to, int len_in_bytes);
49 * Notes : increment to
52 void insw(unsigned int port
, void *to
, int len
)
56 for (i
= 0; i
< len
; i
++)
57 ((unsigned short *) to
)[i
] = inw(port
);
60 void inswb(unsigned int port
, void *to
, int len
)
62 insw(port
, to
, len
>> 2);
66 * Purpose: write a block of data from memory to a hardware register.
67 * Proto : outsw(int to_reg, void *from, int len_in_words);
68 * Proto : outswb(int to_reg, void *from, int len_in_bytes);
69 * Notes : increments from
72 void outsw(unsigned int port
, const void *from
, int len
)
76 for (i
= 0; i
< len
; i
++)
77 outw(((unsigned short *) from
)[i
], port
);
80 void outswb(unsigned int port
, const void *from
, int len
)
82 outsw(port
, from
, len
>> 2);