
Indentation not by TABs, trailing white space.
I changed it using 's/^ /^ /g', 's/ $/$/g'.
Which is definitely not good enough.
Architecture optimized copy is fast about 3 times in OMAP
16xx series
(ARM 9 core) in U-Boot
OK. Will the code work for non-ARM architectures?
Maybe not. I'm not famiar with other architectures. Now most boards which use OneNAND are ARM Arch. so I only consider it. Sorry. We have to consider other architetures.
We can only use it in ARM by adding __ARM__ definition in onenand_base.c, otherwise use its own memcpy
+#ifdef __ARM__ extern void memcpy32(void *, void *, size_t);
static void *memcpy(void *dest, const void *src, size_t count) { if (count < 32) { unsigned short *_s = (unsigned short *) (src); unsigned short *_d = (unsigned short *) (dest); count >>= 1; while (count--) *_d++ = *_s++; return _d; }
memcpy32(dest, src, count);
return (void *) count; } +#endif
Thank you, Kyungmin Park