mirror of https://gitee.com/openkylin/linux.git
usb: musb: use io{read,write}*_rep accessors
The {read,write}s{b,w,l} operations are not defined by all architectures and are being removed from the asm-generic/io.h interface. This patch replaces the usage of these string functions in the musb accessors with io{read,write}{8,16,32}_rep calls instead. Signed-off-by: Matthew Leach <matthew@mattleach.net> Signed-off-by: Will Deacon <will.deacon@arm.com> Cc: Felipe Balbi <balbi@ti.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Ben Herrenschmidt <benh@kernel.crashing.org> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
56c82cdc36
commit
2bf0a8f67f
|
@ -251,7 +251,7 @@ void musb_write_fifo(struct musb_hw_ep *hw_ep, u16 len, const u8 *src)
|
|||
/* best case is 32bit-aligned source address */
|
||||
if ((0x02 & (unsigned long) src) == 0) {
|
||||
if (len >= 4) {
|
||||
writesl(fifo, src + index, len >> 2);
|
||||
iowrite32_rep(fifo, src + index, len >> 2);
|
||||
index += len & ~0x03;
|
||||
}
|
||||
if (len & 0x02) {
|
||||
|
@ -260,7 +260,7 @@ void musb_write_fifo(struct musb_hw_ep *hw_ep, u16 len, const u8 *src)
|
|||
}
|
||||
} else {
|
||||
if (len >= 2) {
|
||||
writesw(fifo, src + index, len >> 1);
|
||||
iowrite16_rep(fifo, src + index, len >> 1);
|
||||
index += len & ~0x01;
|
||||
}
|
||||
}
|
||||
|
@ -268,7 +268,7 @@ void musb_write_fifo(struct musb_hw_ep *hw_ep, u16 len, const u8 *src)
|
|||
musb_writeb(fifo, 0, src[index]);
|
||||
} else {
|
||||
/* byte aligned */
|
||||
writesb(fifo, src, len);
|
||||
iowrite8_rep(fifo, src, len);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -294,7 +294,7 @@ void musb_read_fifo(struct musb_hw_ep *hw_ep, u16 len, u8 *dst)
|
|||
/* best case is 32bit-aligned destination address */
|
||||
if ((0x02 & (unsigned long) dst) == 0) {
|
||||
if (len >= 4) {
|
||||
readsl(fifo, dst, len >> 2);
|
||||
ioread32_rep(fifo, dst, len >> 2);
|
||||
index = len & ~0x03;
|
||||
}
|
||||
if (len & 0x02) {
|
||||
|
@ -303,7 +303,7 @@ void musb_read_fifo(struct musb_hw_ep *hw_ep, u16 len, u8 *dst)
|
|||
}
|
||||
} else {
|
||||
if (len >= 2) {
|
||||
readsw(fifo, dst, len >> 1);
|
||||
ioread16_rep(fifo, dst, len >> 1);
|
||||
index = len & ~0x01;
|
||||
}
|
||||
}
|
||||
|
@ -311,7 +311,7 @@ void musb_read_fifo(struct musb_hw_ep *hw_ep, u16 len, u8 *dst)
|
|||
dst[index] = musb_readb(fifo, 0);
|
||||
} else {
|
||||
/* byte aligned */
|
||||
readsb(fifo, dst, len);
|
||||
ioread8_rep(fifo, dst, len);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -37,27 +37,6 @@
|
|||
|
||||
#include <linux/io.h>
|
||||
|
||||
#if !defined(CONFIG_ARM) && !defined(CONFIG_SUPERH) \
|
||||
&& !defined(CONFIG_AVR32) && !defined(CONFIG_PPC32) \
|
||||
&& !defined(CONFIG_PPC64) && !defined(CONFIG_BLACKFIN) \
|
||||
&& !defined(CONFIG_MIPS) && !defined(CONFIG_M68K) \
|
||||
&& !defined(CONFIG_XTENSA)
|
||||
static inline void readsl(const void __iomem *addr, void *buf, int len)
|
||||
{ insl((unsigned long)addr, buf, len); }
|
||||
static inline void readsw(const void __iomem *addr, void *buf, int len)
|
||||
{ insw((unsigned long)addr, buf, len); }
|
||||
static inline void readsb(const void __iomem *addr, void *buf, int len)
|
||||
{ insb((unsigned long)addr, buf, len); }
|
||||
|
||||
static inline void writesl(const void __iomem *addr, const void *buf, int len)
|
||||
{ outsl((unsigned long)addr, buf, len); }
|
||||
static inline void writesw(const void __iomem *addr, const void *buf, int len)
|
||||
{ outsw((unsigned long)addr, buf, len); }
|
||||
static inline void writesb(const void __iomem *addr, const void *buf, int len)
|
||||
{ outsb((unsigned long)addr, buf, len); }
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_BLACKFIN
|
||||
|
||||
/* NOTE: these offsets are all in bytes */
|
||||
|
|
Loading…
Reference in New Issue