Skip to content

Commit

Permalink
[AVR32] Use memcpy/memset in memcpy_{from,to}_io and memset_io
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
Haavard Skinnemoen committed Apr 27, 2007
1 parent d80e2bb commit 2c1a2a3
Showing 1 changed file with 3 additions and 14 deletions.
17 changes: 3 additions & 14 deletions include/asm-avr32/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 2c1a2a3

Please sign in to comment.