linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/47] fbdev: Use I/O helpers
@ 2023-07-28 16:39 Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 01/47] media/vivid: Use fbdev " Thomas Zimmermann
                   ` (49 more replies)
  0 siblings, 50 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Most fbdev drivers operate on I/O memory. And most of those use the
default implementations for file I/O and console drawing. Convert all
these low-hanging fruits to the fb_ops initializer macro and Kconfig
token for fbdev I/O helpers.

The fbdev I/O helpers are easily grep-able. In a later patch, they can
be left to empty values if the rsp. funtionality, such as file I/O or
console, has been disabled.

There are no functional changes. The helpers set the defaults that
the drivers already use.

Thomas Zimmermann (47):
  media/vivid: Use fbdev I/O helpers
  fbdev/acornfb: Use fbdev I/O helpers
  fbdev/asiliantfb: Use fbdev I/O helpers
  fbdev/atmel_lcdfb: Use fbdev I/O helpers
  fbdev/aty128fb: Use fbdev I/O helpers
  fbdev/carminefb: Use fbdev I/O helpers
  fbdev/chipsfb: Use fbdev I/O helpers
  fbdev/da8xx-fb: Use fbdev I/O helpers
  fbdev/efifb: Use fbdev I/O helpers
  fbdev/fm2fb: Use fbdev I/O helpers
  fbdev/fsl-diu-fb: Use fbdev I/O helpers
  fbdev/g364fb: Use fbdev I/O helpers
  fbdev/geode/gx1fb: Use fbdev I/O helpers
  fbdev/geode/gxfb: Use fbdev I/O helpers
  fbdev/geode/lxfb: Use fbdev I/O helpers
  fbdev/goldfishfb: Use fbdev I/O helpers
  fbdev/grvga: Use fbdev I/O helpers
  fbdev/gxt4500: Use fbdev I/O helpers
  fbdev/i740fb: Use fbdev I/O helpers
  fbdev/imxfb: Use fbdev I/O helpers
  fbdev/kyro: Use fbdev I/O helpers
  fbdev/macfb: Use fbdev I/O helpers
  fbdev/maxinefb: Use fbdev I/O helpers
  fbdev/mb862xxfb: Use fbdev I/O helpers
  fbdev/mmpfb: Use fbdev I/O helpers
  fbdev/mx3fb: Use fbdev I/O helpers
  fbdev/ocfb: Use fbdev I/O helpers
  fbdev/offb: Use fbdev I/O helpers
  fbdev/omapfb: Use fbdev I/O helpers
  fbdev/platinumfb: Use fbdev I/O helpers
  fbdev/pmag-aa-fb: Use fbdev I/O helpers
  fbdev/pmag-ba-fb: Use fbdev I/O helpers
  fbdev/pmag-b-fb: Use fbdev I/O helpers
  fbdev/pxa168fb: Use fbdev I/O helpers
  fbdev/pxafb: Use fbdev I/O helpers
  fbdev/q40fb: Use fbdev I/O helpers
  fbdev/s3cfb: Use fbdev I/O helpers
  fbdev/sh7760fb: Use fbdev I/O helpers
  fbdev/simplefb: Use fbdev I/O helpers
  fbdev/sstfb: Use fbdev I/O helpers
  fbdev/sunxvr1000: Use fbdev I/O helpers
  fbdev/sunxvr2500: Use fbdev I/O helpers
  fbdev/uvesafb: Use fbdev I/O helpers
  fbdev/valkyriefb: Use fbdev I/O helpers
  fbdev/vesafb: Use fbdev I/O helpers
  fbdev/xilinxfb: Use fbdev I/O helpers
  vfio-dev/mdpy-fb: Use fbdev I/O helpers

 drivers/media/test-drivers/vivid/Kconfig     |   4 +-
 drivers/media/test-drivers/vivid/vivid-osd.c |   4 +-
 drivers/video/fbdev/Kconfig                  | 160 +++++--------------
 drivers/video/fbdev/acornfb.c                |   4 +-
 drivers/video/fbdev/asiliantfb.c             |   4 +-
 drivers/video/fbdev/atmel_lcdfb.c            |   4 +-
 drivers/video/fbdev/aty/aty128fb.c           |   4 +-
 drivers/video/fbdev/carminefb.c              |   5 +-
 drivers/video/fbdev/chipsfb.c                |   4 +-
 drivers/video/fbdev/da8xx-fb.c               |   4 +-
 drivers/video/fbdev/efifb.c                  |   4 +-
 drivers/video/fbdev/fm2fb.c                  |   4 +-
 drivers/video/fbdev/fsl-diu-fb.c             |   4 +-
 drivers/video/fbdev/g364fb.c                 |   4 +-
 drivers/video/fbdev/geode/Kconfig            |  12 +-
 drivers/video/fbdev/geode/gx1fb_core.c       |   5 +-
 drivers/video/fbdev/geode/gxfb_core.c        |   5 +-
 drivers/video/fbdev/geode/lxfb_core.c        |   5 +-
 drivers/video/fbdev/goldfishfb.c             |   4 +-
 drivers/video/fbdev/grvga.c                  |   4 +-
 drivers/video/fbdev/gxt4500.c                |   4 +-
 drivers/video/fbdev/i740fb.c                 |   4 +-
 drivers/video/fbdev/imxfb.c                  |   4 +-
 drivers/video/fbdev/kyro/fbdev.c             |   4 +-
 drivers/video/fbdev/macfb.c                  |   4 +-
 drivers/video/fbdev/maxinefb.c               |   4 +-
 drivers/video/fbdev/mb862xx/mb862xxfbdrv.c   |   4 +-
 drivers/video/fbdev/mmp/fb/Kconfig           |   4 +-
 drivers/video/fbdev/mmp/fb/mmpfb.c           |   4 +-
 drivers/video/fbdev/mx3fb.c                  |   4 +-
 drivers/video/fbdev/ocfb.c                   |   4 +-
 drivers/video/fbdev/offb.c                   |   4 +-
 drivers/video/fbdev/omap/Kconfig             |   4 +-
 drivers/video/fbdev/omap/omapfb_main.c       |   4 +-
 drivers/video/fbdev/platinumfb.c             |   4 +-
 drivers/video/fbdev/pmag-aa-fb.c             |   4 +-
 drivers/video/fbdev/pmag-ba-fb.c             |   4 +-
 drivers/video/fbdev/pmagb-b-fb.c             |   4 +-
 drivers/video/fbdev/pxa168fb.c               |   4 +-
 drivers/video/fbdev/pxafb.c                  |   4 +-
 drivers/video/fbdev/q40fb.c                  |   4 +-
 drivers/video/fbdev/s3c-fb.c                 |   4 +-
 drivers/video/fbdev/sh7760fb.c               |   4 +-
 drivers/video/fbdev/simplefb.c               |   4 +-
 drivers/video/fbdev/sstfb.c                  |   4 +-
 drivers/video/fbdev/sunxvr1000.c             |   4 +-
 drivers/video/fbdev/sunxvr2500.c             |   4 +-
 drivers/video/fbdev/uvesafb.c                |   4 +-
 drivers/video/fbdev/valkyriefb.c             |   4 +-
 drivers/video/fbdev/vesafb.c                 |   4 +-
 drivers/video/fbdev/xilinxfb.c               |   4 +-
 samples/Kconfig                              |   4 +-
 samples/vfio-mdev/mdpy-fb.c                  |   4 +-
 53 files changed, 94 insertions(+), 286 deletions(-)


base-commit: fba8a13ec9ae1a7175cc0dda7235b3d2df0f0f90
-- 
2.41.0


^ permalink raw reply	[flat|nested] 58+ messages in thread

* [PATCH 01/47] media/vivid: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 02/47] fbdev/acornfb: " Thomas Zimmermann
                   ` (48 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Hans Verkuil,
	Mauro Carvalho Chehab

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 drivers/media/test-drivers/vivid/Kconfig     | 4 +---
 drivers/media/test-drivers/vivid/vivid-osd.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/media/test-drivers/vivid/Kconfig b/drivers/media/test-drivers/vivid/Kconfig
index 318799d317ba..0e8ee4b9ea85 100644
--- a/drivers/media/test-drivers/vivid/Kconfig
+++ b/drivers/media/test-drivers/vivid/Kconfig
@@ -3,11 +3,9 @@ config VIDEO_VIVID
 	tristate "Virtual Video Test Driver"
 	depends on VIDEO_DEV && !SPARC32 && !SPARC64 && FB
 	depends on HAS_DMA
+	select FB_IO_HELPERS
 	select FONT_SUPPORT
 	select FONT_8x16
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
 	select VIDEOBUF2_VMALLOC
 	select VIDEOBUF2_DMA_CONTIG
 	select VIDEO_V4L2_TPG
diff --git a/drivers/media/test-drivers/vivid/vivid-osd.c b/drivers/media/test-drivers/vivid/vivid-osd.c
index 051f1805a16d..e04b34a67e3a 100644
--- a/drivers/media/test-drivers/vivid/vivid-osd.c
+++ b/drivers/media/test-drivers/vivid/vivid-osd.c
@@ -246,12 +246,10 @@ static int vivid_fb_blank(int blank_mode, struct fb_info *info)
 
 static const struct fb_ops vivid_fb_ops = {
 	.owner = THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var   = vivid_fb_check_var,
 	.fb_set_par     = vivid_fb_set_par,
 	.fb_setcolreg   = vivid_fb_setcolreg,
-	.fb_fillrect    = cfb_fillrect,
-	.fb_copyarea    = cfb_copyarea,
-	.fb_imageblit   = cfb_imageblit,
 	.fb_cursor      = NULL,
 	.fb_ioctl       = vivid_fb_ioctl,
 	.fb_pan_display = vivid_fb_pan_display,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 02/47] fbdev/acornfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 01/47] media/vivid: Use fbdev " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 03/47] fbdev/asiliantfb: " Thomas Zimmermann
                   ` (47 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig   | 4 +---
 drivers/video/fbdev/acornfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index c0b0419e98b6..2b1dd3700df6 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -139,9 +139,7 @@ config FB_ARMCLCD
 config FB_ACORN
 	bool "Acorn VIDC support"
 	depends on (FB = y) && ARM && ARCH_ACORN
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  This is the frame buffer device driver for the Acorn VIDC graphics
 	  hardware found in Acorn RISC PCs and other ARM-based machines.  If
diff --git a/drivers/video/fbdev/acornfb.c b/drivers/video/fbdev/acornfb.c
index 8fec21dfca09..8710a2f40d27 100644
--- a/drivers/video/fbdev/acornfb.c
+++ b/drivers/video/fbdev/acornfb.c
@@ -605,13 +605,11 @@ acornfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
 
 static const struct fb_ops acornfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_IO_DEFAULT_OPS,
 	.fb_check_var	= acornfb_check_var,
 	.fb_set_par	= acornfb_set_par,
 	.fb_setcolreg	= acornfb_setcolreg,
 	.fb_pan_display	= acornfb_pan_display,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 /*
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 03/47] fbdev/asiliantfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 01/47] media/vivid: Use fbdev " Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 02/47] fbdev/acornfb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 04/47] fbdev/atmel_lcdfb: " Thomas Zimmermann
                   ` (46 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/asiliantfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 2b1dd3700df6..2fcc29ec8252 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -362,9 +362,7 @@ config FB_CT65550
 config FB_ASILIANT
 	bool "Asiliant (Chips) 69000 display support"
 	depends on (FB = y) && PCI
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  This is the frame buffer device driver for the Asiliant 69030 chipset
diff --git a/drivers/video/fbdev/asiliantfb.c b/drivers/video/fbdev/asiliantfb.c
index 29c232809d5e..da76d137d2a7 100644
--- a/drivers/video/fbdev/asiliantfb.c
+++ b/drivers/video/fbdev/asiliantfb.c
@@ -98,12 +98,10 @@ static int asiliantfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
 
 static const struct fb_ops asiliantfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= asiliantfb_check_var,
 	.fb_set_par	= asiliantfb_set_par,
 	.fb_setcolreg	= asiliantfb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 /* Calculate the ratios for the dot clocks without using a single long long
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 04/47] fbdev/atmel_lcdfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (2 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 03/47] fbdev/asiliantfb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 05/47] fbdev/aty128fb: " Thomas Zimmermann
                   ` (45 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Nicolas Ferre,
	Alexandre Belloni, Claudiu Beznea

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
---
 drivers/video/fbdev/Kconfig       | 4 +---
 drivers/video/fbdev/atmel_lcdfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 2fcc29ec8252..d6bc0b66ba53 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -713,9 +713,7 @@ config FB_ATMEL
 	depends on FB && OF && HAVE_CLK && HAS_IOMEM
 	depends on HAVE_FB_ATMEL || COMPILE_TEST
 	select FB_BACKLIGHT
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select FB_MODE_HELPERS
 	select VIDEOMODE_HELPERS
 	help
diff --git a/drivers/video/fbdev/atmel_lcdfb.c b/drivers/video/fbdev/atmel_lcdfb.c
index 3021660b3e87..c2db22fb529a 100644
--- a/drivers/video/fbdev/atmel_lcdfb.c
+++ b/drivers/video/fbdev/atmel_lcdfb.c
@@ -806,14 +806,12 @@ static int atmel_lcdfb_blank(int blank_mode, struct fb_info *info)
 
 static const struct fb_ops atmel_lcdfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= atmel_lcdfb_check_var,
 	.fb_set_par	= atmel_lcdfb_set_par,
 	.fb_setcolreg	= atmel_lcdfb_setcolreg,
 	.fb_blank	= atmel_lcdfb_blank,
 	.fb_pan_display	= atmel_lcdfb_pan_display,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static irqreturn_t atmel_lcdfb_interrupt(int irq, void *dev_id)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 05/47] fbdev/aty128fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (3 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 04/47] fbdev/atmel_lcdfb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 06/47] fbdev/carminefb: " Thomas Zimmermann
                   ` (44 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig        | 4 +---
 drivers/video/fbdev/aty/aty128fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index d6bc0b66ba53..ca2cfd7f9b32 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1098,10 +1098,8 @@ config FB_RADEON_DEBUG
 config FB_ATY128
 	tristate "ATI Rage128 display support"
 	depends on FB && PCI
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
 	select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
+	select FB_IO_HELPERS
 	select FB_MACMODES if PPC_PMAC
 	select VIDEO_NOMODESET
 	help
diff --git a/drivers/video/fbdev/aty/aty128fb.c b/drivers/video/fbdev/aty/aty128fb.c
index b44fc78ccd4f..c17212eb8b9f 100644
--- a/drivers/video/fbdev/aty/aty128fb.c
+++ b/drivers/video/fbdev/aty/aty128fb.c
@@ -504,6 +504,7 @@ static void aty128_bl_set_power(struct fb_info *info, int power);
 
 static const struct fb_ops aty128fb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= aty128fb_check_var,
 	.fb_set_par	= aty128fb_set_par,
 	.fb_setcolreg	= aty128fb_setcolreg,
@@ -511,9 +512,6 @@ static const struct fb_ops aty128fb_ops = {
 	.fb_blank	= aty128fb_blank,
 	.fb_ioctl	= aty128fb_ioctl,
 	.fb_sync	= aty128fb_sync,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
     /*
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 06/47] fbdev/carminefb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (4 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 05/47] fbdev/aty128fb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 07/47] fbdev/chipsfb: " Thomas Zimmermann
                   ` (43 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig     | 4 +---
 drivers/video/fbdev/carminefb.c | 5 +----
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index ca2cfd7f9b32..df3e80cd2403 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1449,9 +1449,7 @@ config FB_PM3
 config FB_CARMINE
 	tristate "Fujitsu carmine frame buffer support"
 	depends on FB && PCI
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  This is the frame buffer device driver for the Fujitsu Carmine chip.
diff --git a/drivers/video/fbdev/carminefb.c b/drivers/video/fbdev/carminefb.c
index 33a03f4ae025..b7d010abbd6a 100644
--- a/drivers/video/fbdev/carminefb.c
+++ b/drivers/video/fbdev/carminefb.c
@@ -530,10 +530,7 @@ static int init_hardware(struct carmine_hw *hw)
 
 static const struct fb_ops carminefb_ops = {
 	.owner		= THIS_MODULE,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
-
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= carmine_check_var,
 	.fb_set_par	= carmine_set_par,
 	.fb_setcolreg	= carmine_setcolreg,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 07/47] fbdev/chipsfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (5 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 06/47] fbdev/carminefb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 08/47] fbdev/da8xx-fb: " Thomas Zimmermann
                   ` (42 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig   | 4 +---
 drivers/video/fbdev/chipsfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index df3e80cd2403..02fa97d84eca 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -351,9 +351,7 @@ config FB_VALKYRIE
 config FB_CT65550
 	bool "Chips 65550 display support"
 	depends on (FB = y) && PPC32 && PCI
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  This is the frame buffer device driver for the Chips & Technologies
diff --git a/drivers/video/fbdev/chipsfb.c b/drivers/video/fbdev/chipsfb.c
index d5f43454ccd7..65a495509422 100644
--- a/drivers/video/fbdev/chipsfb.c
+++ b/drivers/video/fbdev/chipsfb.c
@@ -82,13 +82,11 @@ static int chipsfb_blank(int blank, struct fb_info *info);
 
 static const struct fb_ops chipsfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= chipsfb_check_var,
 	.fb_set_par	= chipsfb_set_par,
 	.fb_setcolreg	= chipsfb_setcolreg,
 	.fb_blank	= chipsfb_blank,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static int chipsfb_check_var(struct fb_var_screeninfo *var,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 08/47] fbdev/da8xx-fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (6 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 07/47] fbdev/chipsfb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 09/47] fbdev/efifb: " Thomas Zimmermann
                   ` (41 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig    | 4 +---
 drivers/video/fbdev/da8xx-fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 02fa97d84eca..b10aac21eca2 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1837,9 +1837,7 @@ config FB_DA8XX
 	tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support"
 	depends on FB && HAVE_CLK && HAS_IOMEM
 	depends on ARCH_DAVINCI_DA8XX || SOC_AM33XX || COMPILE_TEST
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select FB_CFB_REV_PIXELS_IN_BYTE
 	select FB_MODE_HELPERS
 	select VIDEOMODE_HELPERS
diff --git a/drivers/video/fbdev/da8xx-fb.c b/drivers/video/fbdev/da8xx-fb.c
index 988dedcf6be8..6a0e919eb43d 100644
--- a/drivers/video/fbdev/da8xx-fb.c
+++ b/drivers/video/fbdev/da8xx-fb.c
@@ -1295,14 +1295,12 @@ static int da8xxfb_set_par(struct fb_info *info)
 
 static const struct fb_ops da8xx_fb_ops = {
 	.owner = THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var = fb_check_var,
 	.fb_set_par = da8xxfb_set_par,
 	.fb_setcolreg = fb_setcolreg,
 	.fb_pan_display = da8xx_pan_display,
 	.fb_ioctl = fb_ioctl,
-	.fb_fillrect = cfb_fillrect,
-	.fb_copyarea = cfb_copyarea,
-	.fb_imageblit = cfb_imageblit,
 	.fb_blank = cfb_blank,
 };
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 09/47] fbdev/efifb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (7 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 08/47] fbdev/da8xx-fb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 10/47] fbdev/fm2fb: " Thomas Zimmermann
                   ` (40 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Peter Jones

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Peter Jones <pjones@redhat.com>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/efifb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index b10aac21eca2..62e24e47b677 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -486,9 +486,7 @@ config FB_EFI
 	depends on (FB = y) && !IA64 && EFI
 	select APERTURE_HELPERS
 	select DRM_PANEL_ORIENTATION_QUIRKS
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select SYSFB
 	help
 	  This is the EFI frame buffer device driver. If the firmware on
diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
index 3391c8e84210..3a3e178258d1 100644
--- a/drivers/video/fbdev/efifb.c
+++ b/drivers/video/fbdev/efifb.c
@@ -277,11 +277,9 @@ static void efifb_destroy(struct fb_info *info)
 
 static const struct fb_ops efifb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_destroy	= efifb_destroy,
 	.fb_setcolreg	= efifb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static int efifb_setup(char *options)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 10/47] fbdev/fm2fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (8 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 09/47] fbdev/efifb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 11/47] fbdev/fsl-diu-fb: " Thomas Zimmermann
                   ` (39 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/fm2fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 62e24e47b677..e5fe33cb7909 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -269,9 +269,7 @@ config FB_AMIGA_AGA
 config FB_FM2
 	bool "Amiga FrameMaster II/Rainbow II support"
 	depends on (FB = y) && ZORRO
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  This is the frame buffer device driver for the Amiga FrameMaster
 	  card from BSC (exhibited 1992 but not shipped as a CBM product).
diff --git a/drivers/video/fbdev/fm2fb.c b/drivers/video/fbdev/fm2fb.c
index 4dcb9dd79bf8..a25cbb999934 100644
--- a/drivers/video/fbdev/fm2fb.c
+++ b/drivers/video/fbdev/fm2fb.c
@@ -167,11 +167,9 @@ static int fm2fb_blank(int blank, struct fb_info *info);
 
 static const struct fb_ops fm2fb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg	= fm2fb_setcolreg,
 	.fb_blank	= fm2fb_blank,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
     /*
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 11/47] fbdev/fsl-diu-fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (9 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 10/47] fbdev/fm2fb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 12/47] fbdev/g364fb: " Thomas Zimmermann
                   ` (38 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Timur Tabi

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Timur Tabi <timur@kernel.org>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/fsl-diu-fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index e5fe33cb7909..aa92a9c6a801 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1661,10 +1661,8 @@ config PXA3XX_GCU
 config FB_FSL_DIU
 	tristate "Freescale DIU framebuffer support"
 	depends on FB && FSL_SOC
+	select FB_IO_HELPERS
 	select FB_MODE_HELPERS
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
 	select PPC_LIB_RHEAP
 	help
 	  Framebuffer driver for the Freescale SoC DIU
diff --git a/drivers/video/fbdev/fsl-diu-fb.c b/drivers/video/fbdev/fsl-diu-fb.c
index c62b48f27ba9..422e4168e37d 100644
--- a/drivers/video/fbdev/fsl-diu-fb.c
+++ b/drivers/video/fbdev/fsl-diu-fb.c
@@ -1451,13 +1451,11 @@ static int fsl_diu_release(struct fb_info *info, int user)
 
 static const struct fb_ops fsl_diu_ops = {
 	.owner = THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var = fsl_diu_check_var,
 	.fb_set_par = fsl_diu_set_par,
 	.fb_setcolreg = fsl_diu_setcolreg,
 	.fb_pan_display = fsl_diu_pan_display,
-	.fb_fillrect = cfb_fillrect,
-	.fb_copyarea = cfb_copyarea,
-	.fb_imageblit = cfb_imageblit,
 	.fb_ioctl = fsl_diu_ioctl,
 	.fb_open = fsl_diu_open,
 	.fb_release = fsl_diu_release,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 12/47] fbdev/g364fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (10 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 11/47] fbdev/fsl-diu-fb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 13/47] fbdev/geode/gx1fb: " Thomas Zimmermann
                   ` (37 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig  | 4 +---
 drivers/video/fbdev/g364fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index aa92a9c6a801..b08e632586a9 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1577,9 +1577,7 @@ config FB_MAXINE
 config FB_G364
 	bool "G364 frame buffer support"
 	depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  The G364 driver is the framebuffer used in MIPS Magnum 4000 and
 	  Olivetti M700-10 systems.
diff --git a/drivers/video/fbdev/g364fb.c b/drivers/video/fbdev/g364fb.c
index 0825cbde116e..08a37e7139e8 100644
--- a/drivers/video/fbdev/g364fb.c
+++ b/drivers/video/fbdev/g364fb.c
@@ -112,12 +112,10 @@ static int g364fb_blank(int blank, struct fb_info *info);
 
 static const struct fb_ops g364fb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_HELPERS,
 	.fb_setcolreg	= g364fb_setcolreg,
 	.fb_pan_display	= g364fb_pan_display,
 	.fb_blank	= g364fb_blank,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 /*
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 13/47] fbdev/geode/gx1fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (11 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 12/47] fbdev/g364fb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 14/47] fbdev/geode/gxfb: " Thomas Zimmermann
                   ` (36 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Andres Salomon

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Andres Salomon <dilinger@queued.net>
---
 drivers/video/fbdev/geode/Kconfig      | 4 +---
 drivers/video/fbdev/geode/gx1fb_core.c | 5 +----
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/video/fbdev/geode/Kconfig b/drivers/video/fbdev/geode/Kconfig
index b184085a78c2..511d0b314a1d 100644
--- a/drivers/video/fbdev/geode/Kconfig
+++ b/drivers/video/fbdev/geode/Kconfig
@@ -45,9 +45,7 @@ config FB_GEODE_GX
 config FB_GEODE_GX1
 	tristate "AMD Geode GX1 framebuffer support"
 	depends on FB && FB_GEODE
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  Framebuffer driver for the display controller integrated into the
diff --git a/drivers/video/fbdev/geode/gx1fb_core.c b/drivers/video/fbdev/geode/gx1fb_core.c
index ddec35e3bbeb..db009ddcdfcb 100644
--- a/drivers/video/fbdev/geode/gx1fb_core.c
+++ b/drivers/video/fbdev/geode/gx1fb_core.c
@@ -255,14 +255,11 @@ static int parse_panel_option(struct fb_info *info)
 
 static const struct fb_ops gx1fb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= gx1fb_check_var,
 	.fb_set_par	= gx1fb_set_par,
 	.fb_setcolreg	= gx1fb_setcolreg,
 	.fb_blank       = gx1fb_blank,
-	/* No HW acceleration for now. */
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static struct fb_info *gx1fb_init_fbinfo(struct device *dev)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 14/47] fbdev/geode/gxfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (12 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 13/47] fbdev/geode/gx1fb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 15/47] fbdev/geode/lxfb: " Thomas Zimmermann
                   ` (35 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Andres Salomon

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Andres Salomon <dilinger@queued.net>
---
 drivers/video/fbdev/geode/Kconfig     | 4 +---
 drivers/video/fbdev/geode/gxfb_core.c | 5 +----
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/video/fbdev/geode/Kconfig b/drivers/video/fbdev/geode/Kconfig
index 511d0b314a1d..216bb54c8101 100644
--- a/drivers/video/fbdev/geode/Kconfig
+++ b/drivers/video/fbdev/geode/Kconfig
@@ -29,9 +29,7 @@ config FB_GEODE_LX
 config FB_GEODE_GX
 	tristate "AMD Geode GX framebuffer support"
 	depends on FB && FB_GEODE
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  Framebuffer driver for the display controller integrated into the
diff --git a/drivers/video/fbdev/geode/gxfb_core.c b/drivers/video/fbdev/geode/gxfb_core.c
index 4fb13790c528..d0bc2f9cef9a 100644
--- a/drivers/video/fbdev/geode/gxfb_core.c
+++ b/drivers/video/fbdev/geode/gxfb_core.c
@@ -268,14 +268,11 @@ static int gxfb_map_video_memory(struct fb_info *info, struct pci_dev *dev)
 
 static const struct fb_ops gxfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= gxfb_check_var,
 	.fb_set_par	= gxfb_set_par,
 	.fb_setcolreg	= gxfb_setcolreg,
 	.fb_blank       = gxfb_blank,
-	/* No HW acceleration for now. */
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static struct fb_info *gxfb_init_fbinfo(struct device *dev)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 15/47] fbdev/geode/lxfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (13 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 14/47] fbdev/geode/gxfb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:39 ` [PATCH 16/47] fbdev/goldfishfb: " Thomas Zimmermann
                   ` (34 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Andres Salomon

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Andres Salomon <dilinger@queued.net>
---
 drivers/video/fbdev/geode/Kconfig     | 4 +---
 drivers/video/fbdev/geode/lxfb_core.c | 5 +----
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/video/fbdev/geode/Kconfig b/drivers/video/fbdev/geode/Kconfig
index 216bb54c8101..dbd8652f235e 100644
--- a/drivers/video/fbdev/geode/Kconfig
+++ b/drivers/video/fbdev/geode/Kconfig
@@ -13,9 +13,7 @@ config FB_GEODE
 config FB_GEODE_LX
 	tristate "AMD Geode LX framebuffer support"
 	depends on FB && FB_GEODE
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  Framebuffer driver for the display controller integrated into the
diff --git a/drivers/video/fbdev/geode/lxfb_core.c b/drivers/video/fbdev/geode/lxfb_core.c
index b70b286f43e4..21c5e168271b 100644
--- a/drivers/video/fbdev/geode/lxfb_core.c
+++ b/drivers/video/fbdev/geode/lxfb_core.c
@@ -392,14 +392,11 @@ static int lxfb_map_video_memory(struct fb_info *info, struct pci_dev *dev)
 
 static const struct fb_ops lxfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= lxfb_check_var,
 	.fb_set_par	= lxfb_set_par,
 	.fb_setcolreg	= lxfb_setcolreg,
 	.fb_blank       = lxfb_blank,
-	/* No HW acceleration for now. */
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static struct fb_info *lxfb_init_fbinfo(struct device *dev)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 16/47] fbdev/goldfishfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (14 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 15/47] fbdev/geode/lxfb: " Thomas Zimmermann
@ 2023-07-28 16:39 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 17/47] fbdev/grvga: " Thomas Zimmermann
                   ` (33 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:39 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/goldfishfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index b08e632586a9..69c1503f6358 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1800,9 +1800,7 @@ config FB_GOLDFISH
 	tristate "Goldfish Framebuffer"
 	depends on FB
 	depends on GOLDFISH || COMPILE_TEST
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Framebuffer driver for Goldfish Virtual Platform
 
diff --git a/drivers/video/fbdev/goldfishfb.c b/drivers/video/fbdev/goldfishfb.c
index ef2528c3faa9..8b48e8805bca 100644
--- a/drivers/video/fbdev/goldfishfb.c
+++ b/drivers/video/fbdev/goldfishfb.c
@@ -162,14 +162,12 @@ static int goldfish_fb_blank(int blank, struct fb_info *info)
 
 static const struct fb_ops goldfish_fb_ops = {
 	.owner          = THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var   = goldfish_fb_check_var,
 	.fb_set_par     = goldfish_fb_set_par,
 	.fb_setcolreg   = goldfish_fb_setcolreg,
 	.fb_pan_display = goldfish_fb_pan_display,
 	.fb_blank	= goldfish_fb_blank,
-	.fb_fillrect    = cfb_fillrect,
-	.fb_copyarea    = cfb_copyarea,
-	.fb_imageblit   = cfb_imageblit,
 };
 
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 17/47] fbdev/grvga: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (15 preceding siblings ...)
  2023-07-28 16:39 ` [PATCH 16/47] fbdev/goldfishfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 18/47] fbdev/gxt4500: " Thomas Zimmermann
                   ` (32 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/grvga.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 69c1503f6358..a7fe64fe2582 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -64,9 +64,7 @@ config FB_MACMODES
 config FB_GRVGA
 	tristate "Aeroflex Gaisler framebuffer support"
 	depends on FB && SPARC
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  This enables support for the SVGACTRL framebuffer in the GRLIB IP library from Aeroflex Gaisler.
 
diff --git a/drivers/video/fbdev/grvga.c b/drivers/video/fbdev/grvga.c
index 5fa07e40950a..5114f42c4283 100644
--- a/drivers/video/fbdev/grvga.c
+++ b/drivers/video/fbdev/grvga.c
@@ -252,13 +252,11 @@ static int grvga_pan_display(struct fb_var_screeninfo *var,
 
 static const struct fb_ops grvga_ops = {
 	.owner          = THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var   = grvga_check_var,
 	.fb_set_par	= grvga_set_par,
 	.fb_setcolreg   = grvga_setcolreg,
 	.fb_pan_display = grvga_pan_display,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit
 };
 
 static int grvga_parse_custom(char *options,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 18/47] fbdev/gxt4500: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (16 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 17/47] fbdev/grvga: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 19/47] fbdev/i740fb: " Thomas Zimmermann
                   ` (31 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig   | 4 +---
 drivers/video/fbdev/gxt4500.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index a7fe64fe2582..2484235ac117 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1752,9 +1752,7 @@ config FB_UDL
 config FB_IBM_GXT4500
 	tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
 	depends on FB
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  Say Y here to enable support for the IBM GXT4000P/6000P and
diff --git a/drivers/video/fbdev/gxt4500.c b/drivers/video/fbdev/gxt4500.c
index 8d0976578ddf..f52bb24ed7d5 100644
--- a/drivers/video/fbdev/gxt4500.c
+++ b/drivers/video/fbdev/gxt4500.c
@@ -602,14 +602,12 @@ static const struct fb_fix_screeninfo gxt4500_fix = {
 
 static const struct fb_ops gxt4500_ops = {
 	.owner = THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var = gxt4500_check_var,
 	.fb_set_par = gxt4500_set_par,
 	.fb_setcolreg = gxt4500_setcolreg,
 	.fb_pan_display = gxt4500_pan_display,
 	.fb_blank = gxt4500_blank,
-	.fb_fillrect = cfb_fillrect,
-	.fb_copyarea = cfb_copyarea,
-	.fb_imageblit = cfb_imageblit,
 };
 
 /* PCI functions */
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 19/47] fbdev/i740fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (17 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 18/47] fbdev/gxt4500: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 20/47] fbdev/imxfb: " Thomas Zimmermann
                   ` (30 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig  | 4 +---
 drivers/video/fbdev/i740fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 2484235ac117..9e0f7910283e 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -809,10 +809,8 @@ config FB_RIVA_BACKLIGHT
 config FB_I740
 	tristate "Intel740 support"
 	depends on FB && PCI
+	select FB_IO_HELPERS
 	select FB_MODE_HELPERS
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
 	select VGASTATE
 	select VIDEO_NOMODESET
 	select FB_DDC
diff --git a/drivers/video/fbdev/i740fb.c b/drivers/video/fbdev/i740fb.c
index 3f5becfe9fd5..df9ab7d2a42d 100644
--- a/drivers/video/fbdev/i740fb.c
+++ b/drivers/video/fbdev/i740fb.c
@@ -994,14 +994,12 @@ static const struct fb_ops i740fb_ops = {
 	.owner		= THIS_MODULE,
 	.fb_open	= i740fb_open,
 	.fb_release	= i740fb_release,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= i740fb_check_var,
 	.fb_set_par	= i740fb_set_par,
 	.fb_setcolreg	= i740fb_setcolreg,
 	.fb_blank	= i740fb_blank,
 	.fb_pan_display	= i740fb_pan_display,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 /* ------------------------------------------------------------------------- */
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 20/47] fbdev/imxfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (18 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 19/47] fbdev/i740fb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 21/47] fbdev/kyro: " Thomas Zimmermann
                   ` (29 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Sascha Hauer,
	Pengutronix Kernel Team, Shawn Guo, Fabio Estevam,
	NXP Linux Team

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/imxfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 9e0f7910283e..dba4c8df6c59 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -175,9 +175,7 @@ config FB_IMX
 	depends on FB && HAVE_CLK && HAS_IOMEM
 	depends on ARCH_MXC || COMPILE_TEST
 	select LCD_CLASS_DEVICE
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select FB_MODE_HELPERS
 	select VIDEOMODE_HELPERS
 
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index 78bae5f1e8b9..2e3b53bc9465 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -580,12 +580,10 @@ static int imxfb_blank(int blank, struct fb_info *info)
 
 static const struct fb_ops imxfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= imxfb_check_var,
 	.fb_set_par	= imxfb_set_par,
 	.fb_setcolreg	= imxfb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 	.fb_blank	= imxfb_blank,
 };
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 21/47] fbdev/kyro: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (19 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 20/47] fbdev/imxfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 22/47] fbdev/macfb: " Thomas Zimmermann
                   ` (28 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/kyro/fbdev.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index dba4c8df6c59..cce9f88bf67f 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1306,9 +1306,7 @@ config FB_NEOMAGIC
 config FB_KYRO
 	tristate "IMG Kyro support"
 	depends on FB && PCI
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
diff --git a/drivers/video/fbdev/kyro/fbdev.c b/drivers/video/fbdev/kyro/fbdev.c
index 1109326ca3c4..a5f6edd2386a 100644
--- a/drivers/video/fbdev/kyro/fbdev.c
+++ b/drivers/video/fbdev/kyro/fbdev.c
@@ -661,13 +661,11 @@ static struct pci_driver kyrofb_pci_driver = {
 
 static const struct fb_ops kyrofb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= kyrofb_check_var,
 	.fb_set_par	= kyrofb_set_par,
 	.fb_setcolreg	= kyrofb_setcolreg,
 	.fb_ioctl	= kyrofb_ioctl,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 22/47] fbdev/macfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (20 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 21/47] fbdev/kyro: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 23/47] fbdev/maxinefb: " Thomas Zimmermann
                   ` (27 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/macfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index cce9f88bf67f..abe61098ca04 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -407,9 +407,7 @@ config FB_STI
 config FB_MAC
 	bool "Generic Macintosh display support"
 	depends on (FB = y) && MAC
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select FB_MACMODES
 
 config FB_HP300
diff --git a/drivers/video/fbdev/macfb.c b/drivers/video/fbdev/macfb.c
index 5ca208d992cc..bcf4c240adeb 100644
--- a/drivers/video/fbdev/macfb.c
+++ b/drivers/video/fbdev/macfb.c
@@ -498,10 +498,8 @@ static int macfb_setcolreg(unsigned regno, unsigned red, unsigned green,
 
 static const struct fb_ops macfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg	= macfb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static void __init macfb_setup(char *options)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 23/47] fbdev/maxinefb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (21 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 22/47] fbdev/macfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 24/47] fbdev/mb862xxfb: " Thomas Zimmermann
                   ` (26 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig    | 4 +---
 drivers/video/fbdev/maxinefb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index abe61098ca04..4cca6b008f07 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1556,9 +1556,7 @@ config FB_PMAGB_B
 config FB_MAXINE
 	bool "Maxine (Personal DECstation) onboard framebuffer support"
 	depends on (FB = y) && MACH_DECSTATION
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Support for the onboard framebuffer (1024x768x8) in the Personal
 	  DECstation series (Personal DECstation 5000/20, /25, /33, /50,
diff --git a/drivers/video/fbdev/maxinefb.c b/drivers/video/fbdev/maxinefb.c
index 0ac1873b2acb..d81ed9b25e30 100644
--- a/drivers/video/fbdev/maxinefb.c
+++ b/drivers/video/fbdev/maxinefb.c
@@ -107,10 +107,8 @@ static int maxinefb_setcolreg(unsigned regno, unsigned red, unsigned green,
 
 static const struct fb_ops maxinefb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg	= maxinefb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 int __init maxinefb_init(void)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 24/47] fbdev/mb862xxfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (22 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 23/47] fbdev/maxinefb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 25/47] fbdev/mmpfb: " Thomas Zimmermann
                   ` (25 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig                | 4 +---
 drivers/video/fbdev/mb862xx/mb862xxfbdrv.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 4cca6b008f07..631bc70657db 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1869,9 +1869,7 @@ config FB_MB862XX
 	tristate "Fujitsu MB862xx GDC support"
 	depends on FB
 	depends on PCI || (OF && PPC)
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
diff --git a/drivers/video/fbdev/mb862xx/mb862xxfbdrv.c b/drivers/video/fbdev/mb862xx/mb862xxfbdrv.c
index 42e909776be2..f03d4be4aea1 100644
--- a/drivers/video/fbdev/mb862xx/mb862xxfbdrv.c
+++ b/drivers/video/fbdev/mb862xx/mb862xxfbdrv.c
@@ -407,14 +407,12 @@ static int mb862xxfb_ioctl(struct fb_info *fbi, unsigned int cmd,
 /* framebuffer ops */
 static struct fb_ops mb862xxfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= mb862xxfb_check_var,
 	.fb_set_par	= mb862xxfb_set_par,
 	.fb_setcolreg	= mb862xxfb_setcolreg,
 	.fb_blank	= mb862xxfb_blank,
 	.fb_pan_display	= mb862xxfb_pan,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 	.fb_ioctl	= mb862xxfb_ioctl,
 };
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 25/47] fbdev/mmpfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (23 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 24/47] fbdev/mb862xxfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 26/47] fbdev/mx3fb: " Thomas Zimmermann
                   ` (24 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/mmp/fb/Kconfig | 4 +---
 drivers/video/fbdev/mmp/fb/mmpfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/mmp/fb/Kconfig b/drivers/video/fbdev/mmp/fb/Kconfig
index 0ec2e3fb9e17..19420a9b5bc7 100644
--- a/drivers/video/fbdev/mmp/fb/Kconfig
+++ b/drivers/video/fbdev/mmp/fb/Kconfig
@@ -2,9 +2,7 @@
 config MMP_FB
 	tristate "fb driver for Marvell MMP Display Subsystem"
 	depends on FB
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	default y
 	help
 		fb driver for Marvell MMP Display Subsystem
diff --git a/drivers/video/fbdev/mmp/fb/mmpfb.c b/drivers/video/fbdev/mmp/fb/mmpfb.c
index ac9db01f29f2..df650af84840 100644
--- a/drivers/video/fbdev/mmp/fb/mmpfb.c
+++ b/drivers/video/fbdev/mmp/fb/mmpfb.c
@@ -454,14 +454,12 @@ static int mmpfb_blank(int blank, struct fb_info *info)
 
 static const struct fb_ops mmpfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_blank	= mmpfb_blank,
 	.fb_check_var	= mmpfb_check_var,
 	.fb_set_par	= mmpfb_set_par,
 	.fb_setcolreg	= mmpfb_setcolreg,
 	.fb_pan_display	= mmpfb_pan_display,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static int modes_setup(struct mmpfb_info *fbi)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 26/47] fbdev/mx3fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (24 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 25/47] fbdev/mmpfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 27/47] fbdev/ocfb: " Thomas Zimmermann
                   ` (23 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/mx3fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 631bc70657db..ffc621dbe6b4 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1927,9 +1927,7 @@ config FB_MX3
 	tristate "MX3 Framebuffer support"
 	depends on FB && MX3_IPU
 	select BACKLIGHT_CLASS_DEVICE
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	default y
 	help
 	  This is a framebuffer device for the i.MX31 LCD Controller. So
diff --git a/drivers/video/fbdev/mx3fb.c b/drivers/video/fbdev/mx3fb.c
index 3a053005d2b9..f3ef64101d1e 100644
--- a/drivers/video/fbdev/mx3fb.c
+++ b/drivers/video/fbdev/mx3fb.c
@@ -1247,13 +1247,11 @@ static int mx3fb_pan_display(struct fb_var_screeninfo *var,
  */
 static const struct fb_ops mx3fb_ops = {
 	.owner = THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_set_par = mx3fb_set_par,
 	.fb_check_var = mx3fb_check_var,
 	.fb_setcolreg = mx3fb_setcolreg,
 	.fb_pan_display = mx3fb_pan_display,
-	.fb_fillrect = cfb_fillrect,
-	.fb_copyarea = cfb_copyarea,
-	.fb_imageblit = cfb_imageblit,
 	.fb_blank = mx3fb_blank,
 };
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 27/47] fbdev/ocfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (25 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 26/47] fbdev/mx3fb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 28/47] fbdev/offb: " Thomas Zimmermann
                   ` (22 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/ocfb.c  | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index ffc621dbe6b4..0ba3d0f0ef88 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -672,9 +672,7 @@ config FB_PVR2
 config FB_OPENCORES
 	tristate "OpenCores VGA/LCD core 2.0 framebuffer support"
 	depends on FB && HAS_DMA
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  This enables support for the OpenCores VGA/LCD core.
 
diff --git a/drivers/video/fbdev/ocfb.c b/drivers/video/fbdev/ocfb.c
index 7ebe794583e1..93c0dad56da1 100644
--- a/drivers/video/fbdev/ocfb.c
+++ b/drivers/video/fbdev/ocfb.c
@@ -287,10 +287,8 @@ static int ocfb_init_var(struct ocfb_dev *fbdev)
 
 static const struct fb_ops ocfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg	= ocfb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static int ocfb_probe(struct platform_device *pdev)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 28/47] fbdev/offb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (26 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 27/47] fbdev/ocfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 29/47] fbdev/omapfb: " Thomas Zimmermann
                   ` (21 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/offb.c  | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 0ba3d0f0ef88..2014b41c8f86 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -301,9 +301,7 @@ config FB_OF
 	depends on FB && PPC && (!PPC_PSERIES || PCI)
 	depends on !DRM_OFDRM
 	select APERTURE_HELPERS
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select FB_MACMODES
 	help
 	  Say Y if you want support with Open Firmware for your graphics
diff --git a/drivers/video/fbdev/offb.c b/drivers/video/fbdev/offb.c
index 17f8238262be..86950f913b45 100644
--- a/drivers/video/fbdev/offb.c
+++ b/drivers/video/fbdev/offb.c
@@ -293,13 +293,11 @@ static void offb_destroy(struct fb_info *info)
 
 static const struct fb_ops offb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_destroy	= offb_destroy,
 	.fb_setcolreg	= offb_setcolreg,
 	.fb_set_par	= offb_set_par,
 	.fb_blank	= offb_blank,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static void __iomem *offb_map_reg(struct device_node *np, int index,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 29/47] fbdev/omapfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (27 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 28/47] fbdev/offb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 30/47] fbdev/platinumfb: " Thomas Zimmermann
                   ` (20 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/omap/Kconfig       | 4 +---
 drivers/video/fbdev/omap/omapfb_main.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/omap/Kconfig b/drivers/video/fbdev/omap/Kconfig
index a6548283451f..9fe72fd2ea36 100644
--- a/drivers/video/fbdev/omap/Kconfig
+++ b/drivers/video/fbdev/omap/Kconfig
@@ -3,9 +3,7 @@ config FB_OMAP
 	tristate "OMAP frame buffer support"
 	depends on FB
 	depends on ARCH_OMAP1 || (ARM && COMPILE_TEST)
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Frame buffer driver for OMAP based boards.
 
diff --git a/drivers/video/fbdev/omap/omapfb_main.c b/drivers/video/fbdev/omap/omapfb_main.c
index 783bbe026207..56f06126fd54 100644
--- a/drivers/video/fbdev/omap/omapfb_main.c
+++ b/drivers/video/fbdev/omap/omapfb_main.c
@@ -1216,13 +1216,11 @@ static int omapfb_mmap(struct fb_info *info, struct vm_area_struct *vma)
  */
 static struct fb_ops omapfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_open        = omapfb_open,
 	.fb_release     = omapfb_release,
 	.fb_setcolreg	= omapfb_setcolreg,
 	.fb_setcmap	= omapfb_setcmap,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 	.fb_blank       = omapfb_blank,
 	.fb_ioctl	= omapfb_ioctl,
 	.fb_check_var	= omapfb_check_var,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 30/47] fbdev/platinumfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (28 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 29/47] fbdev/omapfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 31/47] fbdev/pmag-aa-fb: " Thomas Zimmermann
                   ` (19 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/platinumfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 2014b41c8f86..29353f03f7e3 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -321,9 +321,7 @@ config FB_CONTROL
 config FB_PLATINUM
 	bool "Apple \"platinum\" display support"
 	depends on (FB = y) && PPC_PMAC && PPC32
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select FB_MACMODES
 	help
 	  This driver supports a frame buffer for the "platinum" graphics
diff --git a/drivers/video/fbdev/platinumfb.c b/drivers/video/fbdev/platinumfb.c
index b1fd86fe3f65..df70dd6dbc2b 100644
--- a/drivers/video/fbdev/platinumfb.c
+++ b/drivers/video/fbdev/platinumfb.c
@@ -98,13 +98,11 @@ static int platinum_var_to_par(struct fb_var_screeninfo *var,
 
 static const struct fb_ops platinumfb_ops = {
 	.owner =	THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= platinumfb_check_var,
 	.fb_set_par	= platinumfb_set_par,
 	.fb_setcolreg	= platinumfb_setcolreg,
 	.fb_blank	= platinumfb_blank,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 /*
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 31/47] fbdev/pmag-aa-fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (29 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 30/47] fbdev/platinumfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 32/47] fbdev/pmag-ba-fb: " Thomas Zimmermann
                   ` (18 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/pmag-aa-fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 29353f03f7e3..a8e73bbdff68 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1519,9 +1519,7 @@ config FB_HIT
 config FB_PMAG_AA
 	tristate "PMAG-AA TURBOchannel framebuffer support"
 	depends on FB && TC
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
 	  used mainly in the MIPS-based DECstation series.
diff --git a/drivers/video/fbdev/pmag-aa-fb.c b/drivers/video/fbdev/pmag-aa-fb.c
index 7ee20db9ceb8..1b488b1f0ccb 100644
--- a/drivers/video/fbdev/pmag-aa-fb.c
+++ b/drivers/video/fbdev/pmag-aa-fb.c
@@ -149,10 +149,8 @@ static int aafb_blank(int blank, struct fb_info *info)
 
 static const struct fb_ops aafb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_blank	= aafb_blank,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 	.fb_cursor	= aafb_cursor,
 };
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 32/47] fbdev/pmag-ba-fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (30 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 31/47] fbdev/pmag-aa-fb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 33/47] fbdev/pmag-b-fb: " Thomas Zimmermann
                   ` (17 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/pmag-ba-fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index a8e73bbdff68..24789cee3061 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1527,9 +1527,7 @@ config FB_PMAG_AA
 config FB_PMAG_BA
 	tristate "PMAG-BA TURBOchannel framebuffer support"
 	depends on FB && TC
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
 	  used mainly in the MIPS-based DECstation series.
diff --git a/drivers/video/fbdev/pmag-ba-fb.c b/drivers/video/fbdev/pmag-ba-fb.c
index 20a1815279f7..60d3a62c80c9 100644
--- a/drivers/video/fbdev/pmag-ba-fb.c
+++ b/drivers/video/fbdev/pmag-ba-fb.c
@@ -119,10 +119,8 @@ static int pmagbafb_setcolreg(unsigned int regno, unsigned int red,
 
 static const struct fb_ops pmagbafb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg	= pmagbafb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 33/47] fbdev/pmag-b-fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (31 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 32/47] fbdev/pmag-ba-fb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 34/47] fbdev/pxa168fb: " Thomas Zimmermann
                   ` (16 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/pmagb-b-fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 24789cee3061..5fdfd3bb05cd 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1535,9 +1535,7 @@ config FB_PMAG_BA
 config FB_PMAGB_B
 	tristate "PMAGB-B TURBOchannel framebuffer support"
 	depends on FB && TC
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Support for the PMAGB-B TURBOchannel framebuffer card used mainly
 	  in the MIPS-based DECstation series. The card is currently only
diff --git a/drivers/video/fbdev/pmagb-b-fb.c b/drivers/video/fbdev/pmagb-b-fb.c
index 4ab4d6c7a975..861eb2146b81 100644
--- a/drivers/video/fbdev/pmagb-b-fb.c
+++ b/drivers/video/fbdev/pmagb-b-fb.c
@@ -123,10 +123,8 @@ static int pmagbbfb_setcolreg(unsigned int regno, unsigned int red,
 
 static const struct fb_ops pmagbbfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg	= pmagbbfb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 34/47] fbdev/pxa168fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (32 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 33/47] fbdev/pmag-b-fb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 35/47] fbdev/pxafb: " Thomas Zimmermann
                   ` (15 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig    | 4 +---
 drivers/video/fbdev/pxa168fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 5fdfd3bb05cd..bf8261e0f347 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1572,9 +1572,7 @@ config FB_PXA168
 	tristate "PXA168/910 LCD framebuffer support"
 	depends on FB && HAVE_CLK && HAS_IOMEM
 	depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Frame buffer driver for the built-in LCD controller in the Marvell
 	  MMP processor.
diff --git a/drivers/video/fbdev/pxa168fb.c b/drivers/video/fbdev/pxa168fb.c
index 790aa231a593..cd33c9edc1ab 100644
--- a/drivers/video/fbdev/pxa168fb.c
+++ b/drivers/video/fbdev/pxa168fb.c
@@ -543,14 +543,12 @@ static irqreturn_t pxa168fb_handle_irq(int irq, void *dev_id)
 
 static const struct fb_ops pxa168fb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= pxa168fb_check_var,
 	.fb_set_par	= pxa168fb_set_par,
 	.fb_setcolreg	= pxa168fb_setcolreg,
 	.fb_blank	= pxa168fb_blank,
 	.fb_pan_display	= pxa168fb_pan_display,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static void pxa168fb_init_mode(struct fb_info *info,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 35/47] fbdev/pxafb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (33 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 34/47] fbdev/pxa168fb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 36/47] fbdev/q40fb: " Thomas Zimmermann
                   ` (14 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/pxafb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index bf8261e0f347..a085e81276f4 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1580,9 +1580,7 @@ config FB_PXA168
 config FB_PXA
 	tristate "PXA LCD framebuffer support"
 	depends on FB && ARCH_PXA
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEOMODE_HELPERS if OF
 	select FB_MODE_HELPERS if OF
 	help
diff --git a/drivers/video/fbdev/pxafb.c b/drivers/video/fbdev/pxafb.c
index beffb0602a2c..ffff4275215f 100644
--- a/drivers/video/fbdev/pxafb.c
+++ b/drivers/video/fbdev/pxafb.c
@@ -599,13 +599,11 @@ static int pxafb_blank(int blank, struct fb_info *info)
 
 static const struct fb_ops pxafb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= pxafb_check_var,
 	.fb_set_par	= pxafb_set_par,
 	.fb_pan_display	= pxafb_pan_display,
 	.fb_setcolreg	= pxafb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 	.fb_blank	= pxafb_blank,
 };
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 36/47] fbdev/q40fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (34 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 35/47] fbdev/pxafb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 37/47] fbdev/s3cfb: " Thomas Zimmermann
                   ` (13 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/q40fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index a085e81276f4..f49a407a6f6a 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -222,9 +222,7 @@ config FB_Q40
 	bool
 	depends on (FB = y) && Q40
 	default y
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 
 config FB_AMIGA
 	tristate "Amiga native chipset support"
diff --git a/drivers/video/fbdev/q40fb.c b/drivers/video/fbdev/q40fb.c
index b180f0f6940e..e402d1de3218 100644
--- a/drivers/video/fbdev/q40fb.c
+++ b/drivers/video/fbdev/q40fb.c
@@ -76,10 +76,8 @@ static int q40fb_setcolreg(unsigned regno, unsigned red, unsigned green,
 
 static const struct fb_ops q40fb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg	= q40fb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static int q40fb_probe(struct platform_device *dev)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 37/47] fbdev/s3cfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (35 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 36/47] fbdev/q40fb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 38/47] fbdev/sh7760fb: " Thomas Zimmermann
                   ` (12 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Jingoo Han

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Jingoo Han <jingoohan1@gmail.com>
---
 drivers/video/fbdev/Kconfig  | 4 +---
 drivers/video/fbdev/s3c-fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index f49a407a6f6a..e55aa4f13aba 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1653,9 +1653,7 @@ config FB_S3C
 	tristate "Samsung S3C framebuffer support"
 	depends on FB && HAVE_CLK && HAS_IOMEM
 	depends on ARCH_S3C64XX || COMPILE_TEST
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Frame buffer driver for the built-in FB controller in the Samsung
 	  SoC line such as the S3C6400 and S3C6410.
diff --git a/drivers/video/fbdev/s3c-fb.c b/drivers/video/fbdev/s3c-fb.c
index c50b92c06c5d..9d98cc072032 100644
--- a/drivers/video/fbdev/s3c-fb.c
+++ b/drivers/video/fbdev/s3c-fb.c
@@ -1038,13 +1038,11 @@ static int s3c_fb_ioctl(struct fb_info *info, unsigned int cmd,
 
 static const struct fb_ops s3c_fb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= s3c_fb_check_var,
 	.fb_set_par	= s3c_fb_set_par,
 	.fb_blank	= s3c_fb_blank,
 	.fb_setcolreg	= s3c_fb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 	.fb_pan_display	= s3c_fb_pan_display,
 	.fb_ioctl	= s3c_fb_ioctl,
 };
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 38/47] fbdev/sh7760fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (36 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 37/47] fbdev/s3cfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 39/47] fbdev/simplefb: " Thomas Zimmermann
                   ` (11 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig    | 4 +---
 drivers/video/fbdev/sh7760fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index e55aa4f13aba..cdfe5b797d8f 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1778,9 +1778,7 @@ config FB_SH7760
 	bool "SH7760/SH7763/SH7720/SH7721 LCDC support"
 	depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
 		|| CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Support for the SH7760/SH7763/SH7720/SH7721 integrated
 	  (D)STN/TFT LCD Controller.
diff --git a/drivers/video/fbdev/sh7760fb.c b/drivers/video/fbdev/sh7760fb.c
index db898112f9a5..89866e765b04 100644
--- a/drivers/video/fbdev/sh7760fb.c
+++ b/drivers/video/fbdev/sh7760fb.c
@@ -345,13 +345,11 @@ static int sh7760fb_set_par(struct fb_info *info)
 
 static const struct fb_ops sh7760fb_ops = {
 	.owner = THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_blank = sh7760fb_blank,
 	.fb_check_var = sh7760fb_check_var,
 	.fb_setcolreg = sh7760_setcolreg,
 	.fb_set_par = sh7760fb_set_par,
-	.fb_fillrect = cfb_fillrect,
-	.fb_copyarea = cfb_copyarea,
-	.fb_imageblit = cfb_imageblit,
 };
 
 static void sh7760fb_free_mem(struct fb_info *info)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 39/47] fbdev/simplefb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (37 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 38/47] fbdev/sh7760fb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 40/47] fbdev/sstfb: " Thomas Zimmermann
                   ` (10 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Hans de Goede

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Hans de Goede <hdegoede@redhat.com>
---
 drivers/video/fbdev/Kconfig    | 4 +---
 drivers/video/fbdev/simplefb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index cdfe5b797d8f..d1042550ac6d 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1939,9 +1939,7 @@ config FB_SIMPLE
 	depends on FB
 	depends on !DRM_SIMPLEDRM
 	select APERTURE_HELPERS
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Say Y if you want support for a simple frame-buffer.
 
diff --git a/drivers/video/fbdev/simplefb.c b/drivers/video/fbdev/simplefb.c
index 461e50c8dd1b..95036a000f51 100644
--- a/drivers/video/fbdev/simplefb.c
+++ b/drivers/video/fbdev/simplefb.c
@@ -109,11 +109,9 @@ static void simplefb_destroy(struct fb_info *info)
 
 static const struct fb_ops simplefb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_destroy	= simplefb_destroy,
 	.fb_setcolreg	= simplefb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static struct simplefb_format simplefb_formats[] = SIMPLEFB_FORMATS;
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 40/47] fbdev/sstfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (38 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 39/47] fbdev/simplefb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 41/47] fbdev/sunxvr1000: " Thomas Zimmermann
                   ` (9 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig | 4 +---
 drivers/video/fbdev/sstfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index d1042550ac6d..fd593ff1cf94 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1340,9 +1340,7 @@ config FB_VOODOO1
 	tristate "3Dfx Voodoo Graphics (sst1) support"
 	depends on FB && PCI
 	depends on FB_DEVICE
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
diff --git a/drivers/video/fbdev/sstfb.c b/drivers/video/fbdev/sstfb.c
index 8d2b1d60dd2e..0255007f5ce5 100644
--- a/drivers/video/fbdev/sstfb.c
+++ b/drivers/video/fbdev/sstfb.c
@@ -1310,12 +1310,10 @@ static int sstfb_setup(char *options)
 
 static const struct fb_ops sstfb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var	= sstfb_check_var,
 	.fb_set_par	= sstfb_set_par,
 	.fb_setcolreg	= sstfb_setcolreg,
-	.fb_fillrect	= cfb_fillrect, /* sstfb_fillrect */
-	.fb_copyarea	= cfb_copyarea, /* sstfb_copyarea */
-	.fb_imageblit	= cfb_imageblit,
 	.fb_ioctl	= sstfb_ioctl,
 };
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 41/47] fbdev/sunxvr1000: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (39 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 40/47] fbdev/sstfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 42/47] fbdev/sunxvr2500: " Thomas Zimmermann
                   ` (8 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/sunxvr1000.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index fd593ff1cf94..9b3433194eeb 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -631,9 +631,7 @@ config FB_XVR2500
 config FB_XVR1000
 	bool "Sun XVR-1000 support"
 	depends on (FB = y) && SPARC64
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  This is the framebuffer device for the Sun XVR-1000 and similar
 	  graphics cards.  The driver only works on sparc64 systems where
diff --git a/drivers/video/fbdev/sunxvr1000.c b/drivers/video/fbdev/sunxvr1000.c
index 5746a305fe40..e1d1b516c320 100644
--- a/drivers/video/fbdev/sunxvr1000.c
+++ b/drivers/video/fbdev/sunxvr1000.c
@@ -62,10 +62,8 @@ static int gfb_setcolreg(unsigned regno,
 
 static const struct fb_ops gfb_ops = {
 	.owner			= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg		= gfb_setcolreg,
-	.fb_fillrect		= cfb_fillrect,
-	.fb_copyarea		= cfb_copyarea,
-	.fb_imageblit		= cfb_imageblit,
 };
 
 static int gfb_set_fbinfo(struct gfb_info *gp)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 42/47] fbdev/sunxvr2500: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (40 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 41/47] fbdev/sunxvr1000: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 43/47] fbdev/uvesafb: " Thomas Zimmermann
                   ` (7 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/sunxvr2500.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 9b3433194eeb..72ddeb296568 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -617,9 +617,7 @@ config FB_XVR500
 config FB_XVR2500
 	bool "Sun XVR-2500 3DLABS Wildcat support"
 	depends on (FB = y) && PCI && SPARC64
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select VIDEO_NOMODESET
 	help
 	  This is the framebuffer device for the Sun XVR-2500 and similar
diff --git a/drivers/video/fbdev/sunxvr2500.c b/drivers/video/fbdev/sunxvr2500.c
index 07ebf6941708..6c1bb8948686 100644
--- a/drivers/video/fbdev/sunxvr2500.c
+++ b/drivers/video/fbdev/sunxvr2500.c
@@ -66,10 +66,8 @@ static int s3d_setcolreg(unsigned regno,
 
 static const struct fb_ops s3d_ops = {
 	.owner			= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg		= s3d_setcolreg,
-	.fb_fillrect		= cfb_fillrect,
-	.fb_copyarea		= cfb_copyarea,
-	.fb_imageblit		= cfb_imageblit,
 };
 
 static int s3d_set_fbinfo(struct s3d_info *sp)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 43/47] fbdev/uvesafb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (41 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 42/47] fbdev/sunxvr2500: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 44/47] fbdev/valkyriefb: " Thomas Zimmermann
                   ` (6 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann,
	Michal Januszewski

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Michal Januszewski <spock@gentoo.org>
---
 drivers/video/fbdev/Kconfig   | 4 +---
 drivers/video/fbdev/uvesafb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 72ddeb296568..9c41a797eafe 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -438,9 +438,7 @@ config FB_UVESA
 	tristate "Userspace VESA VGA graphics support"
 	depends on FB && CONNECTOR
 	depends on !UML
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select FB_MODE_HELPERS
 	help
 	  This is the frame buffer driver for generic VBE 2.0 compliant
diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c
index df2574d4ff30..d9f5058eada4 100644
--- a/drivers/video/fbdev/uvesafb.c
+++ b/drivers/video/fbdev/uvesafb.c
@@ -1416,13 +1416,11 @@ static struct fb_ops uvesafb_ops = {
 	.owner		= THIS_MODULE,
 	.fb_open	= uvesafb_open,
 	.fb_release	= uvesafb_release,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg	= uvesafb_setcolreg,
 	.fb_setcmap	= uvesafb_setcmap,
 	.fb_pan_display	= uvesafb_pan_display,
 	.fb_blank	= uvesafb_blank,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 	.fb_check_var	= uvesafb_check_var,
 	.fb_set_par	= uvesafb_set_par,
 };
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 44/47] fbdev/valkyriefb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (42 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 43/47] fbdev/uvesafb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 45/47] fbdev/vesafb: " Thomas Zimmermann
                   ` (5 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig      | 4 +---
 drivers/video/fbdev/valkyriefb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 9c41a797eafe..d81c376012ad 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -328,9 +328,7 @@ config FB_PLATINUM
 config FB_VALKYRIE
 	bool "Apple \"valkyrie\" display support"
 	depends on (FB = y) && (MAC || (PPC_PMAC && PPC32))
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select FB_MACMODES
 	help
 	  This driver supports a frame buffer for the "valkyrie" graphics
diff --git a/drivers/video/fbdev/valkyriefb.c b/drivers/video/fbdev/valkyriefb.c
index fd4488777032..adf559bc2b86 100644
--- a/drivers/video/fbdev/valkyriefb.c
+++ b/drivers/video/fbdev/valkyriefb.c
@@ -110,13 +110,11 @@ static void valkyrie_init_fix(struct fb_fix_screeninfo *fix, struct fb_info_valk
 
 static const struct fb_ops valkyriefb_ops = {
 	.owner =	THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_check_var =	valkyriefb_check_var,
 	.fb_set_par =	valkyriefb_set_par,
 	.fb_setcolreg =	valkyriefb_setcolreg,
 	.fb_blank =	valkyriefb_blank,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 /* Sets the video mode according to info->var */
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 45/47] fbdev/vesafb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (43 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 44/47] fbdev/valkyriefb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 46/47] fbdev/xilinxfb: " Thomas Zimmermann
                   ` (4 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/Kconfig  | 4 +---
 drivers/video/fbdev/vesafb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index d81c376012ad..b0cb2d38415c 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -453,9 +453,7 @@ config FB_VESA
 	bool "VESA VGA graphics support"
 	depends on (FB = y) && X86
 	select APERTURE_HELPERS
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	select SYSFB
 	help
 	  This is the frame buffer device driver for generic VESA 2.0
diff --git a/drivers/video/fbdev/vesafb.c b/drivers/video/fbdev/vesafb.c
index 422a1c53decd..3cad5dd716ed 100644
--- a/drivers/video/fbdev/vesafb.c
+++ b/drivers/video/fbdev/vesafb.c
@@ -201,12 +201,10 @@ static void vesafb_destroy(struct fb_info *info)
 
 static struct fb_ops vesafb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_destroy     = vesafb_destroy,
 	.fb_setcolreg	= vesafb_setcolreg,
 	.fb_pan_display	= vesafb_pan_display,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static int vesafb_setup(char *options)
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 46/47] fbdev/xilinxfb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (44 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 45/47] fbdev/vesafb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 16:40 ` [PATCH 47/47] vfio-dev/mdpy-fb: " Thomas Zimmermann
                   ` (3 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Michal Simek

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Michal Simek <michal.simek@amd.com>
---
 drivers/video/fbdev/Kconfig    | 4 +---
 drivers/video/fbdev/xilinxfb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index b0cb2d38415c..47568e6e264e 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1742,9 +1742,7 @@ config FB_PS3_DEFAULT_SIZE_M
 config FB_XILINX
 	tristate "Xilinx frame buffer support"
 	depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Include support for the Xilinx ML300/ML403 reference design
 	  framebuffer. ML300 carries a 640*480 LCD display on the board,
diff --git a/drivers/video/fbdev/xilinxfb.c b/drivers/video/fbdev/xilinxfb.c
index ee6c65902694..dcf8ebda4aac 100644
--- a/drivers/video/fbdev/xilinxfb.c
+++ b/drivers/video/fbdev/xilinxfb.c
@@ -250,11 +250,9 @@ xilinx_fb_blank(int blank_mode, struct fb_info *fbi)
 
 static const struct fb_ops xilinxfb_ops = {
 	.owner			= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_setcolreg		= xilinx_fb_setcolreg,
 	.fb_blank		= xilinx_fb_blank,
-	.fb_fillrect		= cfb_fillrect,
-	.fb_copyarea		= cfb_copyarea,
-	.fb_imageblit		= cfb_imageblit,
 };
 
 /* ---------------------------------------------------------------------
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* [PATCH 47/47] vfio-dev/mdpy-fb: Use fbdev I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (45 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 46/47] fbdev/xilinxfb: " Thomas Zimmermann
@ 2023-07-28 16:40 ` Thomas Zimmermann
  2023-07-28 18:35 ` [PATCH 00/47] fbdev: Use " Sam Ravnborg
                   ` (2 subsequent siblings)
  49 siblings, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-28 16:40 UTC (permalink / raw)
  To: deller, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm, Thomas Zimmermann, Kirti Wankhede

Set struct fb_ops and with FB_DEFAULT_IO_OPS, fbdev's initializer
for I/O memory. Sets the callbacks to the cfb_ and fb_io_ functions.
Select the correct modules with Kconfig's FB_IO_HELPERS token.

The macro and token set the currently selected values, so there is
no functional change.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Kirti Wankhede <kwankhede@nvidia.com>
---
 samples/Kconfig             | 4 +---
 samples/vfio-mdev/mdpy-fb.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/samples/Kconfig b/samples/Kconfig
index bf49ed0d7362..44b4d8569015 100644
--- a/samples/Kconfig
+++ b/samples/Kconfig
@@ -210,9 +210,7 @@ config SAMPLE_VFIO_MDEV_MDPY
 config SAMPLE_VFIO_MDEV_MDPY_FB
 	tristate "Build VFIO mdpy example guest fbdev driver"
 	depends on FB
-	select FB_CFB_FILLRECT
-	select FB_CFB_COPYAREA
-	select FB_CFB_IMAGEBLIT
+	select FB_IO_HELPERS
 	help
 	  Guest fbdev driver for the virtual display sample driver.
 
diff --git a/samples/vfio-mdev/mdpy-fb.c b/samples/vfio-mdev/mdpy-fb.c
index cda477b28685..78140c755bed 100644
--- a/samples/vfio-mdev/mdpy-fb.c
+++ b/samples/vfio-mdev/mdpy-fb.c
@@ -88,11 +88,9 @@ static void mdpy_fb_destroy(struct fb_info *info)
 
 static const struct fb_ops mdpy_fb_ops = {
 	.owner		= THIS_MODULE,
+	FB_DEFAULT_IO_OPS,
 	.fb_destroy	= mdpy_fb_destroy,
 	.fb_setcolreg	= mdpy_fb_setcolreg,
-	.fb_fillrect	= cfb_fillrect,
-	.fb_copyarea	= cfb_copyarea,
-	.fb_imageblit	= cfb_imageblit,
 };
 
 static int mdpy_fb_probe(struct pci_dev *pdev,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (46 preceding siblings ...)
  2023-07-28 16:40 ` [PATCH 47/47] vfio-dev/mdpy-fb: " Thomas Zimmermann
@ 2023-07-28 18:35 ` Sam Ravnborg
  2023-07-30  8:55   ` Sam Ravnborg
  2023-07-28 18:39 ` Sam Ravnborg
  2023-07-28 18:46 ` Helge Deller
  49 siblings, 1 reply; 58+ messages in thread
From: Sam Ravnborg @ 2023-07-28 18:35 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: deller, javierm, linux-media, linux-fbdev, dri-devel,
	linux-arm-kernel, linux-geode, linux-omap, kvm

Hi Thomas,

On Fri, Jul 28, 2023 at 06:39:43PM +0200, Thomas Zimmermann wrote:
> Most fbdev drivers operate on I/O memory. And most of those use the
> default implementations for file I/O and console drawing. Convert all
> these low-hanging fruits to the fb_ops initializer macro and Kconfig
> token for fbdev I/O helpers.
> 
> The fbdev I/O helpers are easily grep-able. In a later patch, they can
> be left to empty values if the rsp. funtionality, such as file I/O or
> console, has been disabled.
> 
> There are no functional changes. The helpers set the defaults that
> the drivers already use.

I have browsed all patches - they all looks good.
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>


^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (47 preceding siblings ...)
  2023-07-28 18:35 ` [PATCH 00/47] fbdev: Use " Sam Ravnborg
@ 2023-07-28 18:39 ` Sam Ravnborg
  2023-07-29 13:13   ` Thomas Zimmermann
  2023-08-01  8:59   ` Thomas Zimmermann
  2023-07-28 18:46 ` Helge Deller
  49 siblings, 2 replies; 58+ messages in thread
From: Sam Ravnborg @ 2023-07-28 18:39 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: deller, javierm, linux-media, linux-fbdev, dri-devel,
	linux-arm-kernel, linux-geode, linux-omap, kvm

Hi Thomas,

On Fri, Jul 28, 2023 at 06:39:43PM +0200, Thomas Zimmermann wrote:
> Most fbdev drivers operate on I/O memory. And most of those use the
> default implementations for file I/O and console drawing. Convert all
> these low-hanging fruits to the fb_ops initializer macro and Kconfig
> token for fbdev I/O helpers.
> 
> The fbdev I/O helpers are easily grep-able. In a later patch, they can
> be left to empty values if the rsp. funtionality, such as file I/O or
> console, has been disabled.

Did you miss sm750 or was it left out on purpose?
As it hide in staging it is easy to miss.

	Sam

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
                   ` (48 preceding siblings ...)
  2023-07-28 18:39 ` Sam Ravnborg
@ 2023-07-28 18:46 ` Helge Deller
  2023-07-28 21:01   ` Sam Ravnborg
  49 siblings, 1 reply; 58+ messages in thread
From: Helge Deller @ 2023-07-28 18:46 UTC (permalink / raw)
  To: Thomas Zimmermann, javierm, sam
  Cc: linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm

On 7/28/23 18:39, Thomas Zimmermann wrote:
> Most fbdev drivers operate on I/O memory.

Just nitpicking here:
What is I/O memory?
Isn't it either memory, or I/O ?
I mean, I would never think of the cfb* draw functions under I/O.

> And most of those use the
> default implementations for file I/O and console drawing. Convert all
> these low-hanging fruits to the fb_ops initializer macro and Kconfig
> token for fbdev I/O helpers.

I do see the motivation for your patch, but I think the
macro names are very misleading.

You have:
#define __FB_DEFAULT_IO_OPS_RDWR \
         .fb_read        = fb_io_read, \
         .fb_write       = fb_io_write

#define __FB_DEFAULT_IO_OPS_DRAW \
         .fb_fillrect    = cfb_fillrect, \
         .fb_copyarea    = cfb_copyarea, \
         .fb_imageblit   = cfb_imageblit

#define __FB_DEFAULT_IO_OPS_MMAP \
         .fb_mmap        = NULL /* default implementation */

#define FB_DEFAULT_IO_OPS \
         __FB_DEFAULT_IO_OPS_RDWR, \
         __FB_DEFAULT_IO_OPS_DRAW, \
         __FB_DEFAULT_IO_OPS_MMAP

I think FB_DEFAULT_IO_OPS is OK for read/write/mmap.
But I would suggest to split out __FB_DEFAULT_IO_OPS_DRAW.
Something like:
#define FB_DEFAULT_IO_OPS \
         __FB_DEFAULT_IO_OPS_RDWR, \
         __FB_DEFAULT_IO_OPS_MMAP
#define FB_DEFAULT_CFB_OPS \
         .fb_fillrect    = cfb_fillrect, \
         .fb_copyarea    = cfb_copyarea, \
         .fb_imageblit   = cfb_imageblit

and then add FB_DEFAULT_IO_OPS *and* FB_DEFAULT_CFB_OPS
to the various struct fb_ops in the drivers.

Helge

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-28 18:46 ` Helge Deller
@ 2023-07-28 21:01   ` Sam Ravnborg
  2023-07-29  6:51     ` Helge Deller
  0 siblings, 1 reply; 58+ messages in thread
From: Sam Ravnborg @ 2023-07-28 21:01 UTC (permalink / raw)
  To: Helge Deller
  Cc: Thomas Zimmermann, javierm, linux-media, linux-fbdev, dri-devel,
	linux-arm-kernel, linux-geode, linux-omap, kvm

Hi Helge,

On Fri, Jul 28, 2023 at 08:46:59PM +0200, Helge Deller wrote:
> On 7/28/23 18:39, Thomas Zimmermann wrote:
> > Most fbdev drivers operate on I/O memory.
> 
> Just nitpicking here:
> What is I/O memory?
> Isn't it either memory, or I/O ?
> I mean, I would never think of the cfb* draw functions under I/O.
> 
> > And most of those use the
> > default implementations for file I/O and console drawing. Convert all
> > these low-hanging fruits to the fb_ops initializer macro and Kconfig
> > token for fbdev I/O helpers.
> 
> I do see the motivation for your patch, but I think the
> macro names are very misleading.
> 
> You have:
> #define __FB_DEFAULT_IO_OPS_RDWR \
>         .fb_read        = fb_io_read, \
>         .fb_write       = fb_io_write
> 
> #define __FB_DEFAULT_IO_OPS_DRAW \
>         .fb_fillrect    = cfb_fillrect, \
>         .fb_copyarea    = cfb_copyarea, \
>         .fb_imageblit   = cfb_imageblit
> 
> #define __FB_DEFAULT_IO_OPS_MMAP \
>         .fb_mmap        = NULL /* default implementation */
> 
> #define FB_DEFAULT_IO_OPS \
>         __FB_DEFAULT_IO_OPS_RDWR, \
>         __FB_DEFAULT_IO_OPS_DRAW, \
>         __FB_DEFAULT_IO_OPS_MMAP
> 
> I think FB_DEFAULT_IO_OPS is OK for read/write/mmap.
> But I would suggest to split out __FB_DEFAULT_IO_OPS_DRAW.
> Something like:
> #define FB_DEFAULT_IO_OPS \
>         __FB_DEFAULT_IO_OPS_RDWR, \
>         __FB_DEFAULT_IO_OPS_MMAP


> #define FB_DEFAULT_CFB_OPS \
>         .fb_fillrect    = cfb_fillrect, \
>         .fb_copyarea    = cfb_copyarea, \
>         .fb_imageblit   = cfb_imageblit

The prefix cfb, I have recently learned, equals color frame buffer.
They are named such for purely historical reasons.

What is important is where the data are copied as we have two
implementations of for example copyarea - one using system memory, the
other using IO memory.

The naming FB_DEFAULT_IO_OPS says this is the defaults to IO memory
operations, which tell what they do and avoid the strange cfb acronym.

Reserve cfb for color frame buffers only - and maybe in the end rename
the three cfbcopyarea, cfbfillrect, cfbimgblt to use the io prefix.
Which is much simpler to do after this series - and nice extra benefit.

I hope this properly explains why I like the current naming and
acked it when the macros were introduced.

	Sam

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-28 21:01   ` Sam Ravnborg
@ 2023-07-29  6:51     ` Helge Deller
  2023-07-29 13:21       ` Thomas Zimmermann
  0 siblings, 1 reply; 58+ messages in thread
From: Helge Deller @ 2023-07-29  6:51 UTC (permalink / raw)
  To: Sam Ravnborg, Thomas Zimmermann
  Cc: javierm, linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm

On 7/28/23 23:01, Sam Ravnborg wrote:
> Hi Helge,
>
> On Fri, Jul 28, 2023 at 08:46:59PM +0200, Helge Deller wrote:
>> On 7/28/23 18:39, Thomas Zimmermann wrote:
>>> Most fbdev drivers operate on I/O memory.
>>
>> Just nitpicking here:
>> What is I/O memory?
>> Isn't it either memory, or I/O ?
>> I mean, I would never think of the cfb* draw functions under I/O.
>>
>>> And most of those use the
>>> default implementations for file I/O and console drawing. Convert all
>>> these low-hanging fruits to the fb_ops initializer macro and Kconfig
>>> token for fbdev I/O helpers.
>>
>> I do see the motivation for your patch, but I think the
>> macro names are very misleading.
>>
>> You have:
>> #define __FB_DEFAULT_IO_OPS_RDWR \
>>          .fb_read        = fb_io_read, \
>>          .fb_write       = fb_io_write
>>
>> #define __FB_DEFAULT_IO_OPS_DRAW \
>>          .fb_fillrect    = cfb_fillrect, \
>>          .fb_copyarea    = cfb_copyarea, \
>>          .fb_imageblit   = cfb_imageblit
>>
>> #define __FB_DEFAULT_IO_OPS_MMAP \
>>          .fb_mmap        = NULL /* default implementation */
>>
>> #define FB_DEFAULT_IO_OPS \
>>          __FB_DEFAULT_IO_OPS_RDWR, \
>>          __FB_DEFAULT_IO_OPS_DRAW, \
>>          __FB_DEFAULT_IO_OPS_MMAP
>>
>> I think FB_DEFAULT_IO_OPS is OK for read/write/mmap.
>> But I would suggest to split out __FB_DEFAULT_IO_OPS_DRAW.
>> Something like:
>> #define FB_DEFAULT_IO_OPS \
>>          __FB_DEFAULT_IO_OPS_RDWR, \
>>          __FB_DEFAULT_IO_OPS_MMAP
>
>
>> #define FB_DEFAULT_CFB_OPS \
>>          .fb_fillrect    = cfb_fillrect, \
>>          .fb_copyarea    = cfb_copyarea, \
>>          .fb_imageblit   = cfb_imageblit
>
> The prefix cfb, I have recently learned, equals color frame buffer.

correct.

> They are named such for purely historical reasons.

well, they operate on MEMORY which represents a (color) frame buffer,
either in host memory or memory on some card on some bus.
So, the naming cfb is not historical, but even today correct.

> What is important is where the data are copied as we have two
> implementations of for example copyarea - one using system memory, the
> other using IO memory.

sys_copyarea() and cfb_copyarea().

> The naming FB_DEFAULT_IO_OPS says this is the defaults to IO memory
> operations, which tell what they do

This is exactly what I find misleading. IO_OPS sounds that it operates
on file I/O (like file read/write), but not on iomem.

> and avoid the strange cfb acronym.

> Reserve cfb for color frame buffers only - and maybe in the end rename
> the three cfbcopyarea, cfbfillrect, cfbimgblt to use the io prefix.

Again, the io prefix is what I think is misleading.
Why not name it what it really is and what is used in the kernel already, e.g.
iomem_copyarea() and sysmem_copyarea().
which would lead to
FB_DEFAULT_IOMEM_OPS and FB_DEFAULT_SYSMEM_OPS.

> Which is much simpler to do after this series - and nice extra benefit.
>
> I hope this properly explains why I like the current naming and
> acked it when the macros were introduced.

IMHO the naming isn't perfect, but that's just nitpicking.
Besides that, Thomas' patches are a nice cleanup.
So, if you want add a
Acked-by: Helge Deller <deller@gmx.de>
to the series.

Helge

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-28 18:39 ` Sam Ravnborg
@ 2023-07-29 13:13   ` Thomas Zimmermann
  2023-08-01  8:59   ` Thomas Zimmermann
  1 sibling, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-29 13:13 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: deller, javierm, linux-media, linux-fbdev, dri-devel,
	linux-arm-kernel, linux-geode, linux-omap, kvm


[-- Attachment #1.1: Type: text/plain, Size: 1035 bytes --]

Hi Sam

Am 28.07.23 um 20:39 schrieb Sam Ravnborg:
> Hi Thomas,
> 
> On Fri, Jul 28, 2023 at 06:39:43PM +0200, Thomas Zimmermann wrote:
>> Most fbdev drivers operate on I/O memory. And most of those use the
>> default implementations for file I/O and console drawing. Convert all
>> these low-hanging fruits to the fb_ops initializer macro and Kconfig
>> token for fbdev I/O helpers.
>>
>> The fbdev I/O helpers are easily grep-able. In a later patch, they can
>> be left to empty values if the rsp. funtionality, such as file I/O or
>> console, has been disabled.
> 
> Did you miss sm750 or was it left out on purpose?

I did miss it indeed. I'll add the patch to the next iteration. Thanks 
for noticing.

Best regards
Thomas

> As it hide in staging it is easy to miss.
> 
> 	Sam

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-29  6:51     ` Helge Deller
@ 2023-07-29 13:21       ` Thomas Zimmermann
  2023-07-29 13:53         ` Helge Deller
  0 siblings, 1 reply; 58+ messages in thread
From: Thomas Zimmermann @ 2023-07-29 13:21 UTC (permalink / raw)
  To: Helge Deller, Sam Ravnborg
  Cc: javierm, linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm


[-- Attachment #1.1: Type: text/plain, Size: 4535 bytes --]

Hi Helge

Am 29.07.23 um 08:51 schrieb Helge Deller:
> On 7/28/23 23:01, Sam Ravnborg wrote:
>> Hi Helge,
>>
>> On Fri, Jul 28, 2023 at 08:46:59PM +0200, Helge Deller wrote:
>>> On 7/28/23 18:39, Thomas Zimmermann wrote:
>>>> Most fbdev drivers operate on I/O memory.
>>>
>>> Just nitpicking here:
>>> What is I/O memory?
>>> Isn't it either memory, or I/O ?
>>> I mean, I would never think of the cfb* draw functions under I/O.
>>>
>>>> And most of those use the
>>>> default implementations for file I/O and console drawing. Convert all
>>>> these low-hanging fruits to the fb_ops initializer macro and Kconfig
>>>> token for fbdev I/O helpers.
>>>
>>> I do see the motivation for your patch, but I think the
>>> macro names are very misleading.
>>>
>>> You have:
>>> #define __FB_DEFAULT_IO_OPS_RDWR \
>>>          .fb_read        = fb_io_read, \
>>>          .fb_write       = fb_io_write
>>>
>>> #define __FB_DEFAULT_IO_OPS_DRAW \
>>>          .fb_fillrect    = cfb_fillrect, \
>>>          .fb_copyarea    = cfb_copyarea, \
>>>          .fb_imageblit   = cfb_imageblit
>>>
>>> #define __FB_DEFAULT_IO_OPS_MMAP \
>>>          .fb_mmap        = NULL /* default implementation */
>>>
>>> #define FB_DEFAULT_IO_OPS \
>>>          __FB_DEFAULT_IO_OPS_RDWR, \
>>>          __FB_DEFAULT_IO_OPS_DRAW, \
>>>          __FB_DEFAULT_IO_OPS_MMAP
>>>
>>> I think FB_DEFAULT_IO_OPS is OK for read/write/mmap.
>>> But I would suggest to split out __FB_DEFAULT_IO_OPS_DRAW.
>>> Something like:
>>> #define FB_DEFAULT_IO_OPS \
>>>          __FB_DEFAULT_IO_OPS_RDWR, \
>>>          __FB_DEFAULT_IO_OPS_MMAP
>>
>>
>>> #define FB_DEFAULT_CFB_OPS \
>>>          .fb_fillrect    = cfb_fillrect, \
>>>          .fb_copyarea    = cfb_copyarea, \
>>>          .fb_imageblit   = cfb_imageblit
>>
>> The prefix cfb, I have recently learned, equals color frame buffer.
> 
> correct.
> 
>> They are named such for purely historical reasons.
> 
> well, they operate on MEMORY which represents a (color) frame buffer,
> either in host memory or memory on some card on some bus.
> So, the naming cfb is not historical, but even today correct.
> 
>> What is important is where the data are copied as we have two
>> implementations of for example copyarea - one using system memory, the
>> other using IO memory.
> 
> sys_copyarea() and cfb_copyarea().
> 
>> The naming FB_DEFAULT_IO_OPS says this is the defaults to IO memory
>> operations, which tell what they do
> 
> This is exactly what I find misleading. IO_OPS sounds that it operates
> on file I/O (like file read/write), but not on iomem.
> 
>> and avoid the strange cfb acronym.
> 
>> Reserve cfb for color frame buffers only - and maybe in the end rename
>> the three cfbcopyarea, cfbfillrect, cfbimgblt to use the io prefix.
> 
> Again, the io prefix is what I think is misleading.
> Why not name it what it really is and what is used in the kernel 
> already, e.g.
> iomem_copyarea() and sysmem_copyarea().
> which would lead to
> FB_DEFAULT_IOMEM_OPS and FB_DEFAULT_SYSMEM_OPS.

Yes there's been a bit of confusion and discussion on the naming before. 
I'd be happy if we can standardize on sysmem and iomem.

I can add a patch to this patchset to rename the _IO_ macros and tokens 
to use _IOMEM_. That's not too much change. A later patchset can address 
sysmem and deferred I/O helpers separately.

On motivation: for now it's a cleanup to make the a bit code easier to 
understand. But once all drivers set their callbacks correctly, we can 
make the I/O mem code optional. It's currently the default and built-in 
unconditionally. But it's not uncommon that it's unused entirely.

Best regards
Thomas

>  
>> Which is much simpler to do after this series - and nice extra benefit.
>>
>> I hope this properly explains why I like the current naming and
>> acked it when the macros were introduced.
> 
> IMHO the naming isn't perfect, but that's just nitpicking.
> Besides that, Thomas' patches are a nice cleanup.
> So, if you want add a
> Acked-by: Helge Deller <deller@gmx.de>
> to the series.
> 
> Helge

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-29 13:21       ` Thomas Zimmermann
@ 2023-07-29 13:53         ` Helge Deller
  0 siblings, 0 replies; 58+ messages in thread
From: Helge Deller @ 2023-07-29 13:53 UTC (permalink / raw)
  To: Thomas Zimmermann, Sam Ravnborg
  Cc: javierm, linux-media, linux-fbdev, dri-devel, linux-arm-kernel,
	linux-geode, linux-omap, kvm

On 7/29/23 15:21, Thomas Zimmermann wrote:
> Hi Helge
>
> Am 29.07.23 um 08:51 schrieb Helge Deller:
>> On 7/28/23 23:01, Sam Ravnborg wrote:
>>> Hi Helge,
>>>
>>> On Fri, Jul 28, 2023 at 08:46:59PM +0200, Helge Deller wrote:
>>>> On 7/28/23 18:39, Thomas Zimmermann wrote:
>>>>> Most fbdev drivers operate on I/O memory.
>>>>
>>>> Just nitpicking here:
>>>> What is I/O memory?
>>>> Isn't it either memory, or I/O ?
>>>> I mean, I would never think of the cfb* draw functions under I/O.
>>>>
>>>>> And most of those use the
>>>>> default implementations for file I/O and console drawing. Convert all
>>>>> these low-hanging fruits to the fb_ops initializer macro and Kconfig
>>>>> token for fbdev I/O helpers.
>>>>
>>>> I do see the motivation for your patch, but I think the
>>>> macro names are very misleading.
>>>>
>>>> You have:
>>>> #define __FB_DEFAULT_IO_OPS_RDWR \
>>>>          .fb_read        = fb_io_read, \
>>>>          .fb_write       = fb_io_write
>>>>
>>>> #define __FB_DEFAULT_IO_OPS_DRAW \
>>>>          .fb_fillrect    = cfb_fillrect, \
>>>>          .fb_copyarea    = cfb_copyarea, \
>>>>          .fb_imageblit   = cfb_imageblit
>>>>
>>>> #define __FB_DEFAULT_IO_OPS_MMAP \
>>>>          .fb_mmap        = NULL /* default implementation */
>>>>
>>>> #define FB_DEFAULT_IO_OPS \
>>>>          __FB_DEFAULT_IO_OPS_RDWR, \
>>>>          __FB_DEFAULT_IO_OPS_DRAW, \
>>>>          __FB_DEFAULT_IO_OPS_MMAP
>>>>
>>>> I think FB_DEFAULT_IO_OPS is OK for read/write/mmap.
>>>> But I would suggest to split out __FB_DEFAULT_IO_OPS_DRAW.
>>>> Something like:
>>>> #define FB_DEFAULT_IO_OPS \
>>>>          __FB_DEFAULT_IO_OPS_RDWR, \
>>>>          __FB_DEFAULT_IO_OPS_MMAP
>>>
>>>
>>>> #define FB_DEFAULT_CFB_OPS \
>>>>          .fb_fillrect    = cfb_fillrect, \
>>>>          .fb_copyarea    = cfb_copyarea, \
>>>>          .fb_imageblit   = cfb_imageblit
>>>
>>> The prefix cfb, I have recently learned, equals color frame buffer.
>>
>> correct.
>>
>>> They are named such for purely historical reasons.
>>
>> well, they operate on MEMORY which represents a (color) frame buffer,
>> either in host memory or memory on some card on some bus.
>> So, the naming cfb is not historical, but even today correct.
>>
>>> What is important is where the data are copied as we have two
>>> implementations of for example copyarea - one using system memory, the
>>> other using IO memory.
>>
>> sys_copyarea() and cfb_copyarea().
>>
>>> The naming FB_DEFAULT_IO_OPS says this is the defaults to IO memory
>>> operations, which tell what they do
>>
>> This is exactly what I find misleading. IO_OPS sounds that it operates
>> on file I/O (like file read/write), but not on iomem.
>>
>>> and avoid the strange cfb acronym.
>>
>>> Reserve cfb for color frame buffers only - and maybe in the end rename
>>> the three cfbcopyarea, cfbfillrect, cfbimgblt to use the io prefix.
>>
>> Again, the io prefix is what I think is misleading.
>> Why not name it what it really is and what is used in the kernel already, e.g.
>> iomem_copyarea() and sysmem_copyarea().
>> which would lead to
>> FB_DEFAULT_IOMEM_OPS and FB_DEFAULT_SYSMEM_OPS.
>
> Yes there's been a bit of confusion and discussion on the naming before. I'd be happy if we can standardize on sysmem and iomem.
>
> I can add a patch to this patchset to rename the _IO_ macros and tokens to use _IOMEM_. That's not too much change. A later patchset can address sysmem and deferred I/O helpers separately.

Sound good.

> On motivation: for now it's a cleanup to make the a bit code easier to understand. But once all drivers set their callbacks correctly, we can make the I/O mem code optional. It's currently the default and built-in unconditionally. But it's not uncommon that it's unused entirely.

Probably true for x86, on others it might be useful to make the sysmem optional as well. I did not checked.

Anyway, thanks for your work!

Helge

>
> Best regards
> Thomas
>
>>
>>> Which is much simpler to do after this series - and nice extra benefit.
>>>
>>> I hope this properly explains why I like the current naming and
>>> acked it when the macros were introduced.
>>
>> IMHO the naming isn't perfect, but that's just nitpicking.
>> Besides that, Thomas' patches are a nice cleanup.
>> So, if you want add a
>> Acked-by: Helge Deller <deller@gmx.de>
>> to the series.
>>
>> Helge
>


^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-28 18:35 ` [PATCH 00/47] fbdev: Use " Sam Ravnborg
@ 2023-07-30  8:55   ` Sam Ravnborg
  0 siblings, 0 replies; 58+ messages in thread
From: Sam Ravnborg @ 2023-07-30  8:55 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: linux-fbdev, kvm, deller, javierm, dri-devel, linux-geode,
	linux-omap, linux-arm-kernel, linux-media

On Fri, Jul 28, 2023 at 08:35:41PM +0200, Sam Ravnborg wrote:
> Hi Thomas,
> 
> On Fri, Jul 28, 2023 at 06:39:43PM +0200, Thomas Zimmermann wrote:
> > Most fbdev drivers operate on I/O memory. And most of those use the
> > default implementations for file I/O and console drawing. Convert all
> > these low-hanging fruits to the fb_ops initializer macro and Kconfig
> > token for fbdev I/O helpers.
> > 
> > The fbdev I/O helpers are easily grep-able. In a later patch, they can
> > be left to empty values if the rsp. funtionality, such as file I/O or
> > console, has been disabled.
> > 
> > There are no functional changes. The helpers set the defaults that
> > the drivers already use.
> 
> I have browsed all patches - they all looks good.
> Reviewed-by: Sam Ravnborg <sam@ravnborg.org>

When you post v2 with MEM added the review still holds true.

	Sam

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [PATCH 00/47] fbdev: Use I/O helpers
  2023-07-28 18:39 ` Sam Ravnborg
  2023-07-29 13:13   ` Thomas Zimmermann
@ 2023-08-01  8:59   ` Thomas Zimmermann
  1 sibling, 0 replies; 58+ messages in thread
From: Thomas Zimmermann @ 2023-08-01  8:59 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: deller, javierm, linux-media, linux-fbdev, dri-devel,
	linux-arm-kernel, linux-geode, linux-omap, kvm


[-- Attachment #1.1: Type: text/plain, Size: 1208 bytes --]

Hi Sam

Am 28.07.23 um 20:39 schrieb Sam Ravnborg:
> Hi Thomas,
> 
> On Fri, Jul 28, 2023 at 06:39:43PM +0200, Thomas Zimmermann wrote:
>> Most fbdev drivers operate on I/O memory. And most of those use the
>> default implementations for file I/O and console drawing. Convert all
>> these low-hanging fruits to the fb_ops initializer macro and Kconfig
>> token for fbdev I/O helpers.
>>
>> The fbdev I/O helpers are easily grep-able. In a later patch, they can
>> be left to empty values if the rsp. funtionality, such as file I/O or
>> console, has been disabled.
> 
> Did you miss sm750 or was it left out on purpose?
> As it hide in staging it is easy to miss.

Now I remembered why I left out sm750fb. It modifies the function 
pointers at some point at

https://elixir.bootlin.com/linux/latest/source/drivers/staging/sm750fb/sm750.c#L741

So the driver uses a non-trivial fb_ops setup and is worth a different fix.

Best regards
Thomas

> 
> 	Sam

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2023-08-01  8:59 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 01/47] media/vivid: Use fbdev " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 02/47] fbdev/acornfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 03/47] fbdev/asiliantfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 04/47] fbdev/atmel_lcdfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 05/47] fbdev/aty128fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 06/47] fbdev/carminefb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 07/47] fbdev/chipsfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 08/47] fbdev/da8xx-fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 09/47] fbdev/efifb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 10/47] fbdev/fm2fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 11/47] fbdev/fsl-diu-fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 12/47] fbdev/g364fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 13/47] fbdev/geode/gx1fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 14/47] fbdev/geode/gxfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 15/47] fbdev/geode/lxfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 16/47] fbdev/goldfishfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 17/47] fbdev/grvga: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 18/47] fbdev/gxt4500: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 19/47] fbdev/i740fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 20/47] fbdev/imxfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 21/47] fbdev/kyro: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 22/47] fbdev/macfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 23/47] fbdev/maxinefb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 24/47] fbdev/mb862xxfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 25/47] fbdev/mmpfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 26/47] fbdev/mx3fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 27/47] fbdev/ocfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 28/47] fbdev/offb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 29/47] fbdev/omapfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 30/47] fbdev/platinumfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 31/47] fbdev/pmag-aa-fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 32/47] fbdev/pmag-ba-fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 33/47] fbdev/pmag-b-fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 34/47] fbdev/pxa168fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 35/47] fbdev/pxafb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 36/47] fbdev/q40fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 37/47] fbdev/s3cfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 38/47] fbdev/sh7760fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 39/47] fbdev/simplefb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 40/47] fbdev/sstfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 41/47] fbdev/sunxvr1000: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 42/47] fbdev/sunxvr2500: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 43/47] fbdev/uvesafb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 44/47] fbdev/valkyriefb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 45/47] fbdev/vesafb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 46/47] fbdev/xilinxfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 47/47] vfio-dev/mdpy-fb: " Thomas Zimmermann
2023-07-28 18:35 ` [PATCH 00/47] fbdev: Use " Sam Ravnborg
2023-07-30  8:55   ` Sam Ravnborg
2023-07-28 18:39 ` Sam Ravnborg
2023-07-29 13:13   ` Thomas Zimmermann
2023-08-01  8:59   ` Thomas Zimmermann
2023-07-28 18:46 ` Helge Deller
2023-07-28 21:01   ` Sam Ravnborg
2023-07-29  6:51     ` Helge Deller
2023-07-29 13:21       ` Thomas Zimmermann
2023-07-29 13:53         ` Helge Deller

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).