fbdev: Move framebuffer I/O helpers into <asm/fb.h>
authorThomas Zimmermann <tzimmermann@suse.de>
Fri, 12 May 2023 10:24:43 +0000 (12:24 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 18 May 2023 09:07:25 +0000 (11:07 +0200)
commit8f8eaa1b023580f7dce7fe8d73539b093edea65b
treea990c81fa928d58bea6ced191554aa46e5253835
parent8ff1541da3908b504cb53e5384d5deae2b9c6e1a
fbdev: Move framebuffer I/O helpers into <asm/fb.h>

Implement framebuffer I/O helpers, such as fb_read*() and fb_write*(),
in the architecture's <asm/fb.h> header file or the generic one.

The common case has been the use of regular I/O functions, such as
__raw_readb() or memset_io(). A few architectures used plain system-
memory reads and writes. Sparc used helpers for its SBus.

The architectures that used special cases provide the same code in
their __raw_*() I/O helpers. So the patch replaces this code with the
__raw_*() functions and moves it to <asm-generic/fb.h> for all
architectures.

v8:
* remove garbage after commit-message tags
v6:
* fix fb_readq()/fb_writeq() on 64-bit mips (kernel test robot)
v5:
* include <linux/io.h> in <asm-generic/fb>; fix s390 build
v4:
* ia64, loongarch, sparc64: add fb_mem*() to arch headers
  to keep current semantics (Arnd)
v3:
* implement all architectures with generic helpers
* support reordering and native byte order (Geert, Arnd)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: Sui Jingfeng <suijingfeng@loongson.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20230512102444.5438-7-tzimmermann@suse.de
arch/ia64/include/asm/fb.h
arch/loongarch/include/asm/fb.h
arch/mips/include/asm/fb.h
arch/sparc/include/asm/fb.h
include/asm-generic/fb.h
include/linux/fb.h