diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-20 18:38:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-20 18:38:12 -0400 |
commit | 077e98945db7e54a9865b5f29a1f02f531eca414 (patch) | |
tree | bb24d180075a2d5ac35bd0d893bdc867405bee03 /drivers/char/rio/rio_linux.h | |
parent | d9eaec9e295a84a80b663996d0489fcff3a1dca9 (diff) | |
parent | 92af11cdec410f5de4e8d702d24e1672ce26a1f6 (diff) |
Merge branch 'rio.b19' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/bird
* 'rio.b19' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/bird:
[PATCH] missing readb/readw in rio
[PATCH] copy_to_user() from iomem is a bad thing
[PATCH] forgotten swap of copyout() arguments
[PATCH] handling rio MEMDUMP
[PATCH] fix rio_copy_to_card() for OLDPCI case
[PATCH] uses of ->Copy() in rioroute are bogus
[PATCH] bogus order of copy_from_user() arguments
[PATCH] rio ->Copy() expects the sourse as first argument
[PATCH] trivial annotations in rio
Diffstat (limited to 'drivers/char/rio/rio_linux.h')
-rw-r--r-- | drivers/char/rio/rio_linux.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/char/rio/rio_linux.h b/drivers/char/rio/rio_linux.h index 4ce77fb1fae5..55b9c97e8477 100644 --- a/drivers/char/rio/rio_linux.h +++ b/drivers/char/rio/rio_linux.h | |||
@@ -131,9 +131,9 @@ struct vpd_prom { | |||
131 | 131 | ||
132 | 132 | ||
133 | #ifdef CONFIG_RIO_OLDPCI | 133 | #ifdef CONFIG_RIO_OLDPCI |
134 | static inline void *rio_memcpy_toio(void *dummy, void *dest, void *source, int n) | 134 | static inline void __iomem *rio_memcpy_toio(void __iomem *dummy, void __iomem *dest, void *source, int n) |
135 | { | 135 | { |
136 | char *dst = dest; | 136 | char __iomem *dst = dest; |
137 | char *src = source; | 137 | char *src = source; |
138 | 138 | ||
139 | while (n--) { | 139 | while (n--) { |
@@ -144,11 +144,22 @@ static inline void *rio_memcpy_toio(void *dummy, void *dest, void *source, int n | |||
144 | return dest; | 144 | return dest; |
145 | } | 145 | } |
146 | 146 | ||
147 | static inline void __iomem *rio_copy_toio(void __iomem *dest, void *source, int n) | ||
148 | { | ||
149 | char __iomem *dst = dest; | ||
150 | char *src = source; | ||
151 | |||
152 | while (n--) | ||
153 | writeb(*src++, dst++); | ||
147 | 154 | ||
148 | static inline void *rio_memcpy_fromio(void *dest, void *source, int n) | 155 | return dest; |
156 | } | ||
157 | |||
158 | |||
159 | static inline void *rio_memcpy_fromio(void *dest, void __iomem *source, int n) | ||
149 | { | 160 | { |
150 | char *dst = dest; | 161 | char *dst = dest; |
151 | char *src = source; | 162 | char __iomem *src = source; |
152 | 163 | ||
153 | while (n--) | 164 | while (n--) |
154 | *dst++ = readb(src++); | 165 | *dst++ = readb(src++); |
@@ -158,6 +169,7 @@ static inline void *rio_memcpy_fromio(void *dest, void *source, int n) | |||
158 | 169 | ||
159 | #else | 170 | #else |
160 | #define rio_memcpy_toio(dummy,dest,source,n) memcpy_toio(dest, source, n) | 171 | #define rio_memcpy_toio(dummy,dest,source,n) memcpy_toio(dest, source, n) |
172 | #define rio_copy_toio memcpy_toio | ||
161 | #define rio_memcpy_fromio memcpy_fromio | 173 | #define rio_memcpy_fromio memcpy_fromio |
162 | #endif | 174 | #endif |
163 | 175 | ||