aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-10-26 21:52:59 -0400
committerMike Frysinger <vapier@gentoo.org>2011-01-10 07:18:03 -0500
commitefb2d31c1c62de9a0e42b2b1981d1a90fc0b4618 (patch)
tree02696675f9365c97fa079f0b6960cbe97d4e1e62
parent21aa8ec362b59458bea1144494ae53ca2d8b13ed (diff)
asm-generic/io.h: add reads[bwl]/writes[bwl] helpers
A bunch of arches define reads[bwl]/writes[bwl] helpers for accessing memory mapped registers. Since the Blackfin ones aren't specific to Blackfin code, move them to the common asm-generic/io.h for people. Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--arch/blackfin/include/asm/io.h30
-rw-r--r--include/asm-generic/io.h30
2 files changed, 30 insertions, 30 deletions
diff --git a/arch/blackfin/include/asm/io.h b/arch/blackfin/include/asm/io.h
index 234fbac17ec1..7d89cca5722a 100644
--- a/arch/blackfin/include/asm/io.h
+++ b/arch/blackfin/include/asm/io.h
@@ -158,36 +158,6 @@ extern void dma_insb(unsigned long port, void *addr, unsigned short count);
158extern void dma_insw(unsigned long port, void *addr, unsigned short count); 158extern void dma_insw(unsigned long port, void *addr, unsigned short count);
159extern void dma_insl(unsigned long port, void *addr, unsigned short count); 159extern void dma_insl(unsigned long port, void *addr, unsigned short count);
160 160
161static inline void readsl(const void __iomem *addr, void *buf, int len)
162{
163 insl((unsigned long)addr, buf, len);
164}
165
166static inline void readsw(const void __iomem *addr, void *buf, int len)
167{
168 insw((unsigned long)addr, buf, len);
169}
170
171static inline void readsb(const void __iomem *addr, void *buf, int len)
172{
173 insb((unsigned long)addr, buf, len);
174}
175
176static inline void writesl(const void __iomem *addr, const void *buf, int len)
177{
178 outsl((unsigned long)addr, buf, len);
179}
180
181static inline void writesw(const void __iomem *addr, const void *buf, int len)
182{
183 outsw((unsigned long)addr, buf, len);
184}
185
186static inline void writesb(const void __iomem *addr, const void *buf, int len)
187{
188 outsb((unsigned long)addr, buf, len);
189}
190
191/* 161/*
192 * Map some physical address range into the kernel address space. 162 * Map some physical address range into the kernel address space.
193 */ 163 */
diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h
index 3577ca11a0be..4644c9a7f724 100644
--- a/include/asm-generic/io.h
+++ b/include/asm-generic/io.h
@@ -211,6 +211,36 @@ static inline void outsl(unsigned long addr, const void *buffer, int count)
211} 211}
212#endif 212#endif
213 213
214static inline void readsl(const void __iomem *addr, void *buf, int len)
215{
216 insl((unsigned long)addr, buf, len);
217}
218
219static inline void readsw(const void __iomem *addr, void *buf, int len)
220{
221 insw((unsigned long)addr, buf, len);
222}
223
224static inline void readsb(const void __iomem *addr, void *buf, int len)
225{
226 insb((unsigned long)addr, buf, len);
227}
228
229static inline void writesl(const void __iomem *addr, const void *buf, int len)
230{
231 outsl((unsigned long)addr, buf, len);
232}
233
234static inline void writesw(const void __iomem *addr, const void *buf, int len)
235{
236 outsw((unsigned long)addr, buf, len);
237}
238
239static inline void writesb(const void __iomem *addr, const void *buf, int len)
240{
241 outsb((unsigned long)addr, buf, len);
242}
243
214#ifndef CONFIG_GENERIC_IOMAP 244#ifndef CONFIG_GENERIC_IOMAP
215#define ioread8(addr) readb(addr) 245#define ioread8(addr) readb(addr)
216#define ioread16(addr) readw(addr) 246#define ioread16(addr) readw(addr)