From: Haavard Skinnemoen Date: Wed, 7 Mar 2007 09:40:44 +0000 (+0100) Subject: [AVR32] Use memcpy/memset in memcpy_{from,to}_io and memset_io X-Git-Tag: v2.6.22-rc1~1131^2~5 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c1a2a3441a754a9b5a8e7184071154f8a9bd61b;p=linux-2.6 [AVR32] Use memcpy/memset in memcpy_{from,to}_io and memset_io Using readb/writeb to implement these breaks NOR flash support. I can't see any reason why regular memcpy and memset shouldn't work. Signed-off-by: Haavard Skinnemoen --- diff --git a/include/asm-avr32/io.h b/include/asm-avr32/io.h index 27b1523d42..e30d4b3bd8 100644 --- a/include/asm-avr32/io.h +++ b/include/asm-avr32/io.h @@ -240,30 +240,19 @@ BUILDSTRING(l, u32) static inline void memcpy_fromio(void * to, const volatile void __iomem *from, unsigned long count) { - char *p = to; - volatile const char __iomem *addr = from; - - while (count--) - *p++ = readb(addr++); + memcpy(to, (const void __force *)from, count); } static inline void memcpy_toio(volatile void __iomem *to, const void * from, unsigned long count) { - const char *p = from; - volatile char __iomem *addr = to; - - while (count--) - writeb(*p++, addr++); + memcpy((void __force *)to, from, count); } static inline void memset_io(volatile void __iomem *addr, unsigned char val, unsigned long count) { - volatile char __iomem *p = addr; - - while (count--) - writeb(val, p++); + memset((void __force *)addr, val, count); } #define IO_SPACE_LIMIT 0xffffffff