/* Copy data from "real" memory space to IO memory space.  */
void memcpy_toio(volatile void __iomem *to, const void *from, unsigned long count)
/* Copy data from "real" memory space to IO memory space.  */
void memcpy_toio(volatile void __iomem *to, const void *from, unsigned long count)
{
	if ((((u32)to | (u32)from) & 0x3) == 0) {
		for ( ; count > 3; count -= 4) {
			*(volatile u32 *)to = *(u32 *)from;
			to += 4;
			from += 4;
		}
	}
	for (; count > 0; count--) {
		*(volatile u8 *)to = *(u8 *)from;
		to++;
		from++;
	}
	mb();
}