fbdev/clps711x-fb: Initialize fb_ops with fbdev macros
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 27 Nov 2023 13:15:50 +0000 (14:15 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 29 Nov 2023 11:20:35 +0000 (12:20 +0100)
commitdec2d60923dbda7c26a6194a0ed9fff9dc20cd69
treed65fc778ba8d7a3eb1472591d24f6478134789a2
parentbff13b8f2c5a38f7216ea9ce40aae88694a2b196
fbdev/clps711x-fb: Initialize fb_ops with fbdev macros

Initialize the instance of struct fb_ops with fbdev initializer
macros for framebuffers in I/O address space. Set the read/write,
draw and mmap callbacks to the correct implementation and avoid
implicit defaults. Also select the necessary helpers in Kconfig.

The driver previously selected drawing ops for system memory
although it operates on I/O memory. Fixed now.

Fbdev drivers sometimes rely on the callbacks being NULL for a
default I/O-memory-based implementation to be invoked; hence
requiring the I/O helpers to be built in any case. Setting all
callbacks in all drivers explicitly will allow to make the I/O
helpers optional. This benefits systems that do not use these
functions.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231127131655.4020-22-tzimmermann@suse.de
drivers/video/fbdev/Kconfig
drivers/video/fbdev/clps711x-fb.c