summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2023-09-27 09:27:08 +0200
committerThomas Zimmermann <tzimmermann@suse.de>2023-10-19 12:56:39 +0200
commit3fa0ee772b9a1b1dfe9c2c6a8d8187945b6cde47 (patch)
tree4e504893799eddf341c849e67b5abc129d84458a
parentcee250bce6264ee3e48b0e22585d6bdbbb0dceb9 (diff)
fbdev/sisfb: 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-36-tzimmermann@suse.de
-rw-r--r--drivers/video/fbdev/Kconfig3
-rw-r--r--drivers/video/fbdev/sis/sis_main.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 312c302617ae..fd0dba398c2d 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1203,10 +1203,11 @@ config FB_SAVAGE_ACCEL
config FB_SIS
tristate "SiS/XGI display support"
depends on FB && PCI
+ select BOOT_VESA_SUPPORT if FB_SIS = y
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
- select BOOT_VESA_SUPPORT if FB_SIS = y
+ select FB_IOMEM_FOPS
select FB_SIS_300 if !FB_SIS_315
select VIDEO_NOMODESET
help
diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c
index 0f5374f6ef05..6ad47b6b6004 100644
--- a/drivers/video/fbdev/sis/sis_main.c
+++ b/drivers/video/fbdev/sis/sis_main.c
@@ -1911,6 +1911,7 @@ static const struct fb_ops sisfb_ops = {
.owner = THIS_MODULE,
.fb_open = sisfb_open,
.fb_release = sisfb_release,
+ __FB_DEFAULT_IOMEM_OPS_RDWR,
.fb_check_var = sisfb_check_var,
.fb_set_par = sisfb_set_par,
.fb_setcolreg = sisfb_setcolreg,
@@ -1923,7 +1924,8 @@ static const struct fb_ops sisfb_ops = {
#ifdef SIS_NEW_CONFIG_COMPAT
.fb_compat_ioctl= sisfb_ioctl,
#endif
- .fb_ioctl = sisfb_ioctl
+ .fb_ioctl = sisfb_ioctl,
+ __FB_DEFAULT_IOMEM_OPS_MMAP,
};
/* ---------------- Chip generation dependent routines ---------------- */