diff options
-rw-r--r-- | arch/sh/boards/renesas/rts7751r2d/io.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/arch/sh/boards/renesas/rts7751r2d/io.c b/arch/sh/boards/renesas/rts7751r2d/io.c index c46f9154cfd5..123abbbc91e0 100644 --- a/arch/sh/boards/renesas/rts7751r2d/io.c +++ b/arch/sh/boards/renesas/rts7751r2d/io.c | |||
@@ -216,24 +216,26 @@ void rts7751r2d_insb(unsigned long port, void *addr, unsigned long count) | |||
216 | { | 216 | { |
217 | volatile __u8 *bp; | 217 | volatile __u8 *bp; |
218 | volatile __u16 *p; | 218 | volatile __u16 *p; |
219 | unsigned char *s = addr; | ||
219 | 220 | ||
220 | if (CHECK_AX88796L_PORT(port)) { | 221 | if (CHECK_AX88796L_PORT(port)) { |
221 | p = (volatile unsigned short *)port88796l(port, 0); | 222 | p = (volatile unsigned short *)port88796l(port, 0); |
222 | while (count--) *((unsigned char *) addr)++ = *p & 0xff; | 223 | while (count--) *s++ = *p & 0xff; |
223 | } else if (PXSEG(port)) | 224 | } else if (PXSEG(port)) |
224 | while (count--) *((unsigned char *) addr)++ = *(volatile unsigned char *)port; | 225 | while (count--) *s++ = *(volatile unsigned char *)port; |
225 | else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) { | 226 | else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) { |
226 | bp = (__u8 *)PCI_IOMAP(port); | 227 | bp = (__u8 *)PCI_IOMAP(port); |
227 | while (count--) *((volatile unsigned char *) addr)++ = *bp; | 228 | while (count--) *s++ = *bp; |
228 | } else { | 229 | } else { |
229 | p = (volatile unsigned short *)port2adr(port); | 230 | p = (volatile unsigned short *)port2adr(port); |
230 | while (count--) *((unsigned char *) addr)++ = *p & 0xff; | 231 | while (count--) *s++ = *p & 0xff; |
231 | } | 232 | } |
232 | } | 233 | } |
233 | 234 | ||
234 | void rts7751r2d_insw(unsigned long port, void *addr, unsigned long count) | 235 | void rts7751r2d_insw(unsigned long port, void *addr, unsigned long count) |
235 | { | 236 | { |
236 | volatile __u16 *p; | 237 | volatile __u16 *p; |
238 | __u16 *s = addr; | ||
237 | 239 | ||
238 | if (CHECK_AX88796L_PORT(port)) | 240 | if (CHECK_AX88796L_PORT(port)) |
239 | p = (volatile unsigned short *)port88796l(port, 1); | 241 | p = (volatile unsigned short *)port88796l(port, 1); |
@@ -243,7 +245,7 @@ void rts7751r2d_insw(unsigned long port, void *addr, unsigned long count) | |||
243 | p = (volatile unsigned short *)PCI_IOMAP(port); | 245 | p = (volatile unsigned short *)PCI_IOMAP(port); |
244 | else | 246 | else |
245 | p = (volatile unsigned short *)port2adr(port); | 247 | p = (volatile unsigned short *)port2adr(port); |
246 | while (count--) *((__u16 *) addr)++ = *p; | 248 | while (count--) *s++ = *p; |
247 | } | 249 | } |
248 | 250 | ||
249 | void rts7751r2d_insl(unsigned long port, void *addr, unsigned long count) | 251 | void rts7751r2d_insl(unsigned long port, void *addr, unsigned long count) |
@@ -252,8 +254,9 @@ void rts7751r2d_insl(unsigned long port, void *addr, unsigned long count) | |||
252 | maybebadio(insl, port); | 254 | maybebadio(insl, port); |
253 | else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) { | 255 | else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) { |
254 | volatile __u32 *p = (__u32 *)PCI_IOMAP(port); | 256 | volatile __u32 *p = (__u32 *)PCI_IOMAP(port); |
257 | __u32 *s = addr; | ||
255 | 258 | ||
256 | while (count--) *((__u32 *) addr)++ = *p; | 259 | while (count--) *s++ = *p; |
257 | } else | 260 | } else |
258 | maybebadio(insl, port); | 261 | maybebadio(insl, port); |
259 | } | 262 | } |
@@ -262,24 +265,26 @@ void rts7751r2d_outsb(unsigned long port, const void *addr, unsigned long count) | |||
262 | { | 265 | { |
263 | volatile __u8 *bp; | 266 | volatile __u8 *bp; |
264 | volatile __u16 *p; | 267 | volatile __u16 *p; |
268 | const __u8 *s = addr; | ||
265 | 269 | ||
266 | if (CHECK_AX88796L_PORT(port)) { | 270 | if (CHECK_AX88796L_PORT(port)) { |
267 | p = (volatile unsigned short *)port88796l(port, 0); | 271 | p = (volatile unsigned short *)port88796l(port, 0); |
268 | while (count--) *p = *((unsigned char *) addr)++; | 272 | while (count--) *p = *s++; |
269 | } else if (PXSEG(port)) | 273 | } else if (PXSEG(port)) |
270 | while (count--) *(volatile unsigned char *)port = *((unsigned char *) addr)++; | 274 | while (count--) *(volatile unsigned char *)port = *s++; |
271 | else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) { | 275 | else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) { |
272 | bp = (__u8 *)PCI_IOMAP(port); | 276 | bp = (__u8 *)PCI_IOMAP(port); |
273 | while (count--) *bp = *((volatile unsigned char *) addr)++; | 277 | while (count--) *bp = *s++; |
274 | } else { | 278 | } else { |
275 | p = (volatile unsigned short *)port2adr(port); | 279 | p = (volatile unsigned short *)port2adr(port); |
276 | while (count--) *p = *((unsigned char *) addr)++; | 280 | while (count--) *p = *s++; |
277 | } | 281 | } |
278 | } | 282 | } |
279 | 283 | ||
280 | void rts7751r2d_outsw(unsigned long port, const void *addr, unsigned long count) | 284 | void rts7751r2d_outsw(unsigned long port, const void *addr, unsigned long count) |
281 | { | 285 | { |
282 | volatile __u16 *p; | 286 | volatile __u16 *p; |
287 | const __u16 *s = addr; | ||
283 | 288 | ||
284 | if (CHECK_AX88796L_PORT(port)) | 289 | if (CHECK_AX88796L_PORT(port)) |
285 | p = (volatile unsigned short *)port88796l(port, 1); | 290 | p = (volatile unsigned short *)port88796l(port, 1); |
@@ -289,7 +294,7 @@ void rts7751r2d_outsw(unsigned long port, const void *addr, unsigned long count) | |||
289 | p = (volatile unsigned short *)PCI_IOMAP(port); | 294 | p = (volatile unsigned short *)PCI_IOMAP(port); |
290 | else | 295 | else |
291 | p = (volatile unsigned short *)port2adr(port); | 296 | p = (volatile unsigned short *)port2adr(port); |
292 | while (count--) *p = *((__u16 *) addr)++; | 297 | while (count--) *p = *s++; |
293 | } | 298 | } |
294 | 299 | ||
295 | void rts7751r2d_outsl(unsigned long port, const void *addr, unsigned long count) | 300 | void rts7751r2d_outsl(unsigned long port, const void *addr, unsigned long count) |
@@ -298,8 +303,9 @@ void rts7751r2d_outsl(unsigned long port, const void *addr, unsigned long count) | |||
298 | maybebadio(outsl, port); | 303 | maybebadio(outsl, port); |
299 | else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) { | 304 | else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) { |
300 | volatile __u32 *p = (__u32 *)PCI_IOMAP(port); | 305 | volatile __u32 *p = (__u32 *)PCI_IOMAP(port); |
306 | const __u32 *s = addr; | ||
301 | 307 | ||
302 | while (count--) *p = *((__u32 *) addr)++; | 308 | while (count--) *p = *s++; |
303 | } else | 309 | } else |
304 | maybebadio(outsl, port); | 310 | maybebadio(outsl, port); |
305 | } | 311 | } |