fbmem: fix fb_read, fb_write unaligned accesses
authorJames Hogan <james@albanarts.com>
Wed, 27 Oct 2010 22:33:28 +0000 (15:33 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 28 Oct 2010 01:03:08 +0000 (18:03 -0700)
commitf11b478d461b7113eb4603b3914aaf15b7788e87
tree84e673927a071c64658d8b24ae423de86948b573
parentc9c62dce35e7fc54beebafb071393a0008989e49
fbmem: fix fb_read, fb_write unaligned accesses

fb_{read,write} access the framebuffer using lots of fb_{read,write}l's
but don't check that the file position is aligned which can cause problems
on some architectures which do not support unaligned accesses.

Since the operations are essentially memcpy_{from,to}io, new
fb_memcpy_{from,to}fb macros have been defined and these are used instead.

For Sparc, fb_{read,write} macros use sbus_{read,write}, so this defines
new sbus_memcpy_{from,to}io functions the same as memcpy_{from,to}io but
using sbus_{read,write}b instead of {read,write}b.

Signed-off-by: James Hogan <james@albanarts.com>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/sparc/include/asm/io_32.h
arch/sparc/include/asm/io_64.h
drivers/video/fbmem.c
include/linux/fb.h