aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/asm/io_64.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/include/asm/io_64.h')
-rw-r--r--arch/sparc/include/asm/io_64.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/sparc/include/asm/io_64.h b/arch/sparc/include/asm/io_64.h
index 80b54b326d49..9b672be70dda 100644
--- a/arch/sparc/include/asm/io_64.h
+++ b/arch/sparc/include/asm/io_64.h
@@ -101,6 +101,7 @@ static inline void __raw_writeq(u64 q, const volatile void __iomem *addr)
101 * the cache by using ASI_PHYS_BYPASS_EC_E_L 101 * the cache by using ASI_PHYS_BYPASS_EC_E_L
102 */ 102 */
103#define readb readb 103#define readb readb
104#define readb_relaxed readb
104static inline u8 readb(const volatile void __iomem *addr) 105static inline u8 readb(const volatile void __iomem *addr)
105{ u8 ret; 106{ u8 ret;
106 107
@@ -112,6 +113,7 @@ static inline u8 readb(const volatile void __iomem *addr)
112} 113}
113 114
114#define readw readw 115#define readw readw
116#define readw_relaxed readw
115static inline u16 readw(const volatile void __iomem *addr) 117static inline u16 readw(const volatile void __iomem *addr)
116{ u16 ret; 118{ u16 ret;
117 119
@@ -124,6 +126,7 @@ static inline u16 readw(const volatile void __iomem *addr)
124} 126}
125 127
126#define readl readl 128#define readl readl
129#define readl_relaxed readl
127static inline u32 readl(const volatile void __iomem *addr) 130static inline u32 readl(const volatile void __iomem *addr)
128{ u32 ret; 131{ u32 ret;
129 132
@@ -136,6 +139,7 @@ static inline u32 readl(const volatile void __iomem *addr)
136} 139}
137 140
138#define readq readq 141#define readq readq
142#define readq_relaxed readq
139static inline u64 readq(const volatile void __iomem *addr) 143static inline u64 readq(const volatile void __iomem *addr)
140{ u64 ret; 144{ u64 ret;
141 145
@@ -148,6 +152,7 @@ static inline u64 readq(const volatile void __iomem *addr)
148} 152}
149 153
150#define writeb writeb 154#define writeb writeb
155#define writeb_relaxed writeb
151static inline void writeb(u8 b, volatile void __iomem *addr) 156static inline void writeb(u8 b, volatile void __iomem *addr)
152{ 157{
153 __asm__ __volatile__("stba\t%r0, [%1] %2\t/* pci_writeb */" 158 __asm__ __volatile__("stba\t%r0, [%1] %2\t/* pci_writeb */"
@@ -157,6 +162,7 @@ static inline void writeb(u8 b, volatile void __iomem *addr)
157} 162}
158 163
159#define writew writew 164#define writew writew
165#define writew_relaxed writew
160static inline void writew(u16 w, volatile void __iomem *addr) 166static inline void writew(u16 w, volatile void __iomem *addr)
161{ 167{
162 __asm__ __volatile__("stha\t%r0, [%1] %2\t/* pci_writew */" 168 __asm__ __volatile__("stha\t%r0, [%1] %2\t/* pci_writew */"
@@ -166,6 +172,7 @@ static inline void writew(u16 w, volatile void __iomem *addr)
166} 172}
167 173
168#define writel writel 174#define writel writel
175#define writel_relaxed writel
169static inline void writel(u32 l, volatile void __iomem *addr) 176static inline void writel(u32 l, volatile void __iomem *addr)
170{ 177{
171 __asm__ __volatile__("stwa\t%r0, [%1] %2\t/* pci_writel */" 178 __asm__ __volatile__("stwa\t%r0, [%1] %2\t/* pci_writel */"
@@ -175,6 +182,7 @@ static inline void writel(u32 l, volatile void __iomem *addr)
175} 182}
176 183
177#define writeq writeq 184#define writeq writeq
185#define writeq_relaxed writeq
178static inline void writeq(u64 q, volatile void __iomem *addr) 186static inline void writeq(u64 q, volatile void __iomem *addr)
179{ 187{
180 __asm__ __volatile__("stxa\t%r0, [%1] %2\t/* pci_writeq */" 188 __asm__ __volatile__("stxa\t%r0, [%1] %2\t/* pci_writeq */"
@@ -183,7 +191,6 @@ static inline void writeq(u64 q, volatile void __iomem *addr)
183 : "memory"); 191 : "memory");
184} 192}
185 193
186
187#define inb inb 194#define inb inb
188static inline u8 inb(unsigned long addr) 195static inline u8 inb(unsigned long addr)
189{ 196{
@@ -264,11 +271,6 @@ static inline void iowrite32_rep(void __iomem *port, const void *buf, unsigned l
264 outsl((unsigned long __force)port, buf, count); 271 outsl((unsigned long __force)port, buf, count);
265} 272}
266 273
267#define readb_relaxed(__addr) readb(__addr)
268#define readw_relaxed(__addr) readw(__addr)
269#define readl_relaxed(__addr) readl(__addr)
270#define readq_relaxed(__addr) readq(__addr)
271
272/* Valid I/O Space regions are anywhere, because each PCI bus supported 274/* Valid I/O Space regions are anywhere, because each PCI bus supported
273 * can live in an arbitrary area of the physical address range. 275 * can live in an arbitrary area of the physical address range.
274 */ 276 */