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