aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2012-05-10 00:07:55 -0400
committerPaul Mundt <lethal@linux-sh.org>2012-05-10 00:07:55 -0400
commitc5e50fa90ce42b1689692f587d4881308881b73d (patch)
treedcbee02bb00ae2ebaa34b862f6285fb1293083ad
parent15f99cbd071aa402e113d342448603344a337046 (diff)
sh: Provide stubbed I/O routines for NO_IOPORT case.
Too many drivers fail at IOPORT vs IOMEM checking before blindly calling in to the API, so we may as well just provide basic stubs to get more build coverage. Other platforms already do this, too (tile, parisc, etc.) Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/include/asm/io.h5
-rw-r--r--arch/sh/include/asm/io_noioport.h41
2 files changed, 46 insertions, 0 deletions
diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
index ec464a6b95fe..0cf60a628814 100644
--- a/arch/sh/include/asm/io.h
+++ b/arch/sh/include/asm/io.h
@@ -218,8 +218,13 @@ __BUILD_IOPORT_STRING(w, u16)
218__BUILD_IOPORT_STRING(l, u32) 218__BUILD_IOPORT_STRING(l, u32)
219__BUILD_IOPORT_STRING(q, u64) 219__BUILD_IOPORT_STRING(q, u64)
220 220
221#else /* !CONFIG_HAS_IOPORT */
222
223#include <asm/io_noioport.h>
224
221#endif 225#endif
222 226
227
223#define IO_SPACE_LIMIT 0xffffffff 228#define IO_SPACE_LIMIT 0xffffffff
224 229
225/* synco on SH-4A, otherwise a nop */ 230/* synco on SH-4A, otherwise a nop */
diff --git a/arch/sh/include/asm/io_noioport.h b/arch/sh/include/asm/io_noioport.h
new file mode 100644
index 000000000000..e136d28d1d2e
--- /dev/null
+++ b/arch/sh/include/asm/io_noioport.h
@@ -0,0 +1,41 @@
1#ifndef __ASM_SH_IO_NOIOPORT_H
2#define __ASM_SH_IO_NOIOPORT_H
3
4static inline u8 inb(unsigned long addr)
5{
6 BUG();
7 return -1;
8}
9
10static inline u16 inw(unsigned long addr)
11{
12 BUG();
13 return -1;
14}
15
16static inline u32 inl(unsigned long addr)
17{
18 BUG();
19 return -1;
20}
21
22#define outb(x, y) BUG()
23#define outw(x, y) BUG()
24#define outl(x, y) BUG()
25
26#define inb_p(addr) inb(addr)
27#define inw_p(addr) inw(addr)
28#define inl_p(addr) inl(addr)
29#define outb_p(x, addr) outb((x), (addr))
30#define outw_p(x, addr) outw((x), (addr))
31#define outl_p(x, addr) outl((x), (addr))
32
33#define insb(a, b, c) BUG()
34#define insw(a, b, c) BUG()
35#define insl(a, b, c) BUG()
36
37#define outsb(a, b, c) BUG()
38#define outsw(a, b, c) BUG()
39#define outsl(a, b, c) BUG()
40
41#endif /* __ASM_SH_IO_NOIOPORT_H */