]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - arch/sh/boards/mach-titan/io.c
sh: Mass ctrl_in/outX to __raw_read/writeX conversion.
[mirror_ubuntu-zesty-kernel.git] / arch / sh / boards / mach-titan / io.c
CommitLineData
a09749dd
JL
1/*
2 * I/O routines for Titan
3 */
a09749dd
JL
4#include <linux/pci.h>
5#include <asm/machvec.h>
6#include <asm/addrspace.h>
7639a454 7#include <mach/titan.h>
a09749dd 8#include <asm/io.h>
a09749dd 9
373e68b5 10static inline unsigned int port2adr(unsigned int port)
a09749dd
JL
11{
12 maybebadio((unsigned long)port);
373e68b5 13 return port;
a09749dd
JL
14}
15
16u8 titan_inb(unsigned long port)
17{
18 if (PXSEG(port))
9d56dd3b
PM
19 return __raw_readb(port);
20 return __raw_readw(port2adr(port)) & 0xff;
a09749dd
JL
21}
22
23u8 titan_inb_p(unsigned long port)
24{
25 u8 v;
26
27 if (PXSEG(port))
9d56dd3b 28 v = __raw_readb(port);
a09749dd 29 else
9d56dd3b 30 v = __raw_readw(port2adr(port)) & 0xff;
959f85f8 31 ctrl_delay();
a09749dd
JL
32 return v;
33}
34
35u16 titan_inw(unsigned long port)
36{
37 if (PXSEG(port))
9d56dd3b 38 return __raw_readw(port);
a09749dd 39 else if (port >= 0x2000)
9d56dd3b 40 return __raw_readw(port2adr(port));
a09749dd
JL
41 else
42 maybebadio(port);
43 return 0;
44}
45
46u32 titan_inl(unsigned long port)
47{
48 if (PXSEG(port))
9d56dd3b 49 return __raw_readl(port);
a09749dd 50 else if (port >= 0x2000)
9d56dd3b 51 return __raw_readw(port2adr(port));
a09749dd
JL
52 else
53 maybebadio(port);
54 return 0;
55}
56
57void titan_outb(u8 value, unsigned long port)
58{
59 if (PXSEG(port))
9d56dd3b 60 __raw_writeb(value, port);
a09749dd 61 else
9d56dd3b 62 __raw_writew(value, port2adr(port));
a09749dd
JL
63}
64
65void titan_outb_p(u8 value, unsigned long port)
66{
67 if (PXSEG(port))
9d56dd3b 68 __raw_writeb(value, port);
a09749dd 69 else
9d56dd3b 70 __raw_writew(value, port2adr(port));
959f85f8 71 ctrl_delay();
a09749dd
JL
72}
73
74void titan_outw(u16 value, unsigned long port)
75{
76 if (PXSEG(port))
9d56dd3b 77 __raw_writew(value, port);
a09749dd 78 else if (port >= 0x2000)
9d56dd3b 79 __raw_writew(value, port2adr(port));
a09749dd
JL
80 else
81 maybebadio(port);
82}
83
84void titan_outl(u32 value, unsigned long port)
85{
86 if (PXSEG(port))
9d56dd3b 87 __raw_writel(value, port);
a09749dd
JL
88 else
89 maybebadio(port);
90}
91
92void titan_insl(unsigned long port, void *dst, unsigned long count)
93{
94 maybebadio(port);
95}
96
97void titan_outsl(unsigned long port, const void *src, unsigned long count)
98{
99 maybebadio(port);
100}
101
a09749dd
JL
102void __iomem *titan_ioport_map(unsigned long port, unsigned int size)
103{
ef339f24 104 if (PXSEG(port))
a09749dd 105 return (void __iomem *)port;
a09749dd
JL
106
107 return (void __iomem *)port2adr(port);
108}