aboutsummaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorGravatar Thomas Zimmermann <tzimmermann@suse.de> 2023-09-27 09:26:49 +0200
committerGravatar Thomas Zimmermann <tzimmermann@suse.de> 2023-10-19 12:55:17 +0200
commit2195155117a1fa828b0c7d5ab3bba02128863a79 (patch)
treec5c0c62c51a4e6387e049a1171a055aef7cec5c2 /drivers/video
parentfbdev/gbefb: Initialize fb_ops to fbdev I/O-memory helpers (diff)
downloadlinux-2195155117a1fa828b0c7d5ab3bba02128863a79.tar.gz
linux-2195155117a1fa828b0c7d5ab3bba02128863a79.tar.bz2
linux-2195155117a1fa828b0c7d5ab3bba02128863a79.zip
fbdev/hgafb: 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> Cc: Ferenc Bakonyi <fero@drama.obuda.kando.hu> Link: https://patchwork.freedesktop.org/patch/msgid/20230927074722.6197-17-tzimmermann@suse.de
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/Kconfig1
-rw-r--r--drivers/video/fbdev/hgafb.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 5b2fbb76686a..370239f375f5 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -485,6 +485,7 @@ config FB_N411
config FB_HGA
tristate "Hercules mono graphics support"
depends on FB && X86
+ select FB_IOMEM_FOPS
help
Say Y here if you have a Hercules mono graphics card.
diff --git a/drivers/video/fbdev/hgafb.c b/drivers/video/fbdev/hgafb.c
index 6a64e6d7255e..10728259dac2 100644
--- a/drivers/video/fbdev/hgafb.c
+++ b/drivers/video/fbdev/hgafb.c
@@ -532,12 +532,14 @@ static const struct fb_ops hgafb_ops = {
.owner = THIS_MODULE,
.fb_open = hgafb_open,
.fb_release = hgafb_release,
+ __FB_DEFAULT_IOMEM_OPS_RDWR,
.fb_setcolreg = hgafb_setcolreg,
.fb_pan_display = hgafb_pan_display,
.fb_blank = hgafb_blank,
.fb_fillrect = hgafb_fillrect,
.fb_copyarea = hgafb_copyarea,
.fb_imageblit = hgafb_imageblit,
+ __FB_DEFAULT_IOMEM_OPS_MMAP,
};
/* ------------------------------------------------------------------------- *