diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2007-03-07 10:40:44 +0100 |
---|---|---|
committer | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2007-04-27 13:44:15 +0200 |
commit | 2c1a2a3441a754a9b5a8e7184071154f8a9bd61b (patch) | |
tree | a11527d9a32495d800c949e9616b82c5c25aba5f /include/asm-avr32/io.h | |
parent | [AVR32] Get rid of board_setup_fbmem() (diff) | |
download | linux-2c1a2a3441a754a9b5a8e7184071154f8a9bd61b.tar.xz linux-2c1a2a3441a754a9b5a8e7184071154f8a9bd61b.zip |
[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 <hskinnemoen@atmel.com>
Diffstat (limited to 'include/asm-avr32/io.h')
-rw-r--r-- | include/asm-avr32/io.h | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/include/asm-avr32/io.h b/include/asm-avr32/io.h index 27b1523d42e0..e30d4b3bd836 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 |