linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: deller@gmx.de, javierm@redhat.com
Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Andy Walls <awalls@md.metrocast.net>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-media@vger.kernel.org
Subject: [PATCH 20/32] media/ivtvfb: Initialize fb_ops to fbdev I/O-memory helpers
Date: Wed, 15 Nov 2023 11:19:25 +0100	[thread overview]
Message-ID: <20231115102954.7102-21-tzimmermann@suse.de> (raw)
In-Reply-To: <20231115102954.7102-1-tzimmermann@suse.de>

Initialize the instance of struct fb_ops with fbdev initializer
macros for framebuffers in I/O address space. This explictily sets
the read/write, draw and mmap callbacks to the correct default
implementation.

Fbdev drivers sometimes rely on the callbacks being NULL for a
default implementation to be invoked; hence requireing 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.

Set the callbacks via macros. No functional changes.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Andy Walls <awalls@md.metrocast.net>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: linux-media@vger.kernel.org
---
 drivers/media/pci/ivtv/Kconfig  | 4 +---
 drivers/media/pci/ivtv/ivtvfb.c | 6 +++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/media/pci/ivtv/Kconfig b/drivers/media/pci/ivtv/Kconfig
index 9be52101bc4f2..2498f9079b756 100644
--- a/drivers/media/pci/ivtv/Kconfig
+++ b/drivers/media/pci/ivtv/Kconfig
@@ -48,9 +48,7 @@ config VIDEO_IVTV_ALSA
 config VIDEO_FB_IVTV
 	tristate "Conexant cx23415 framebuffer support"
 	depends on VIDEO_IVTV && FB
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IOMEM_HELPERS
 	help
 	  This is a framebuffer driver for the Conexant cx23415 MPEG
 	  encoder/decoder.
diff --git a/drivers/media/pci/ivtv/ivtvfb.c b/drivers/media/pci/ivtv/ivtvfb.c
index 23c8c094e791b..410477e3e6216 100644
--- a/drivers/media/pci/ivtv/ivtvfb.c
+++ b/drivers/media/pci/ivtv/ivtvfb.c
@@ -927,17 +927,17 @@ static int ivtvfb_blank(int blank_mode, struct fb_info *info)
 
 static const struct fb_ops ivtvfb_ops = {
 	.owner = THIS_MODULE,
+	.fb_read        = fb_io_read,
 	.fb_write       = ivtvfb_write,
 	.fb_check_var   = ivtvfb_check_var,
 	.fb_set_par     = ivtvfb_set_par,
 	.fb_setcolreg   = ivtvfb_setcolreg,
-	.fb_fillrect    = cfb_fillrect,
-	.fb_copyarea    = cfb_copyarea,
-	.fb_imageblit   = cfb_imageblit,
+	__FB_DEFAULT_IOMEM_OPS_DRAW,
 	.fb_cursor      = NULL,
 	.fb_ioctl       = ivtvfb_ioctl,
 	.fb_pan_display = ivtvfb_pan_display,
 	.fb_blank       = ivtvfb_blank,
+	__FB_DEFAULT_IOMEM_OPS_MMAP,
 };
 
 /* Restore hardware after firmware restart */
-- 
2.42.0


  parent reply	other threads:[~2023-11-15 10:30 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-15 10:19 [PATCH 00/32] fbdev: Modularize helpers for struct fb_ops Thomas Zimmermann
2023-11-15 10:19 ` [PATCH 01/32] fbdev/acornfb: Fix name of fb_ops initializer macro Thomas Zimmermann
2023-11-16  9:45   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 02/32] fbdev/sm712fb: Use correct initializer macros for struct fb_ops Thomas Zimmermann
2023-11-16  9:46   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 03/32] fbdev/vfb: Set FBINFO_VIRTFB flag Thomas Zimmermann
2023-11-16 10:00   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 04/32] fbdev/vfb: Initialize fb_ops with fbdev macros Thomas Zimmermann
2023-11-16 10:04   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 05/32] fbdev/arcfb: Set FBINFO_VIRTFB flag Thomas Zimmermann
2023-11-16 10:05   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 06/32] fbdev/arcfb: Use generator macros for deferred I/O Thomas Zimmermann
2023-11-16 10:16   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 07/32] auxdisplay/cfag12864bfb: Set FBINFO_VIRTFB flag Thomas Zimmermann
2023-11-16 10:16   ` Javier Martinez Canillas
2023-11-21 23:44   ` Miguel Ojeda
2023-11-15 10:19 ` [PATCH 08/32] auxdisplay/cfag12864bfb: Initialize fb_ops with fbdev macros Thomas Zimmermann
2023-11-16 10:22   ` Javier Martinez Canillas
2023-11-21 23:45   ` Miguel Ojeda
2023-11-15 10:19 ` [PATCH 09/32] auxdisplay/ht16k33: Set FBINFO_VIRTFB flag Thomas Zimmermann
2023-11-16 10:23   ` Javier Martinez Canillas
2023-11-21 23:50   ` Miguel Ojeda
2023-11-22  9:03     ` Thomas Zimmermann
2023-11-22  7:42   ` Robin van der Gracht
2023-11-15 10:19 ` [PATCH 10/32] auxdisplay/ht16k33: Initialize fb_ops with fbdev macros Thomas Zimmermann
2023-11-16 10:23   ` Javier Martinez Canillas
2023-11-21 23:45   ` Miguel Ojeda
2023-11-22  7:47   ` Robin van der Gracht
2023-11-15 10:19 ` [PATCH 11/32] hid/picolcd_fb: Set FBINFO_VIRTFB flag Thomas Zimmermann
2023-11-16 10:27   ` Javier Martinez Canillas
2023-11-17  8:51     ` Bruno Prémont
2023-11-21  8:42   ` Jiri Kosina
2023-11-21  8:56     ` Thomas Zimmermann
2023-11-15 10:19 ` [PATCH 12/32] fbdev/sh_mobile_lcdcfb: " Thomas Zimmermann
2023-11-16 10:29   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 13/32] fbdev/sh_mobile_lcdcfb: Initialize fb_ops with fbdev macros Thomas Zimmermann
2023-11-16 10:45   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 14/32] fbdev/smscufx: Select correct helpers Thomas Zimmermann
2023-11-16 10:46   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 15/32] fbdev/udlfb: " Thomas Zimmermann
2023-11-16 10:46   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 16/32] fbdev/au1200fb: Set FBINFO_VIRTFB flag Thomas Zimmermann
2023-11-16 10:47   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 17/32] fbdev/au1200fb: Initialize fb_ops with fbdev macros Thomas Zimmermann
2023-11-16 10:48   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 18/32] fbdev/ps3fb: Set FBINFO_VIRTFB flag Thomas Zimmermann
2023-11-16 10:48   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 19/32] fbdev/ps3fb: Initialize fb_ops with fbdev macros Thomas Zimmermann
2023-11-16 10:53   ` Javier Martinez Canillas
2023-11-15 10:19 ` Thomas Zimmermann [this message]
2023-11-16 11:26   ` [PATCH 20/32] media/ivtvfb: Initialize fb_ops to fbdev I/O-memory helpers Javier Martinez Canillas
2023-11-20  8:52   ` Hans Verkuil
2023-11-20 11:29     ` Thomas Zimmermann
2023-11-15 10:19 ` [PATCH 21/32] fbdev/clps711x-fb: Initialize fb_ops with fbdev macros Thomas Zimmermann
2023-11-16 11:28   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 22/32] fbdev/vt8500lcdfb: " Thomas Zimmermann
2023-11-16 11:30   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 23/32] fbdev/wm8505fb: Initialize fb_ops to fbdev I/O-memory helpers Thomas Zimmermann
2023-11-16 11:34   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 24/32] fbdev/cyber2000fb: Initialize fb_ops with fbdev macros Thomas Zimmermann
2023-11-16 11:35   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 25/32] staging/sm750fb: Declare fb_ops as constant Thomas Zimmermann
2023-11-16 11:44   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 26/32] staging/sm750fb: Initialize fb_ops with fbdev macros Thomas Zimmermann
2023-11-16 11:57   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 27/32] fbdev: Rename FB_SYS_FOPS token to FB_SYSMEM_FOPS Thomas Zimmermann
2023-11-16 12:05   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 28/32] fbdev: Remove trailing whitespaces Thomas Zimmermann
2023-11-16 11:57   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 29/32] fbdev: Push pgprot_decrypted() into mmap implementations Thomas Zimmermann
2023-11-16 13:04   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 30/32] fbdev: Move default fb_mmap code into helper function Thomas Zimmermann
2023-11-16 13:10   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 31/32] fbdev: Warn on incorrect framebuffer access Thomas Zimmermann
2023-11-16 13:12   ` Javier Martinez Canillas
2023-11-15 10:19 ` [PATCH 32/32] fbdev: Remove default file-I/O implementations Thomas Zimmermann
2023-11-16 13:15   ` Javier Martinez Canillas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231115102954.7102-21-tzimmermann@suse.de \
    --to=tzimmermann@suse.de \
    --cc=awalls@md.metrocast.net \
    --cc=deller@gmx.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=javierm@redhat.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).