fbdev/hitfb: Initialize fb_ops to fbdev I/O-memory helpers

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 I/O helpers in Kconfig.

Fbdev drivers sometimes rely on the callbacks being NULL for a
default 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.

No functional changes.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230927074722.6197-18-tzimmermann@suse.de
This commit is contained in:
Thomas Zimmermann 2023-09-27 09:26:50 +02:00
parent 2195155117
commit a1a1c3fa13
2 changed files with 4 additions and 2 deletions

View file

@ -1490,8 +1490,8 @@ config FB_HIT
tristate "HD64461 Frame Buffer support" tristate "HD64461 Frame Buffer support"
depends on FB && HD64461 depends on FB && HD64461
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_IOMEM_FOPS
help help
This is the frame buffer device driver for the Hitachi HD64461 LCD This is the frame buffer device driver for the Hitachi HD64461 LCD
frame buffer card. frame buffer card.

View file

@ -328,8 +328,9 @@ static int hitfb_set_par(struct fb_info *info)
static const struct fb_ops hitfb_ops = { static const struct fb_ops hitfb_ops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
__FB_DEFAULT_IOMEM_OPS_RDWR,
.fb_check_var = hitfb_check_var, .fb_check_var = hitfb_check_var,
.fb_set_par = hitfb_set_par, .fb_set_par = hitfb_set_par,
.fb_setcolreg = hitfb_setcolreg, .fb_setcolreg = hitfb_setcolreg,
.fb_blank = hitfb_blank, .fb_blank = hitfb_blank,
.fb_sync = hitfb_sync, .fb_sync = hitfb_sync,
@ -337,6 +338,7 @@ static const struct fb_ops hitfb_ops = {
.fb_fillrect = hitfb_fillrect, .fb_fillrect = hitfb_fillrect,
.fb_copyarea = hitfb_copyarea, .fb_copyarea = hitfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
__FB_DEFAULT_IOMEM_OPS_MMAP,
}; };
static int hitfb_probe(struct platform_device *dev) static int hitfb_probe(struct platform_device *dev)