Use the regular fbdev helpers for framebuffer I/O instead of DRM's
helpers. Radeon does not use damage handling, so DRM's fbdev helpers
are mere wrappers around the fbdev code.

By using fbdev helpers directly within each DRM fbdev emulation,
we can eventually remove DRM's wrapper functions entirely.

v4:
        * use initializer macros for struct fb_ops
v2:
        * use FB_IO_HELPERS option

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
Acked-by: Alex Deucher <alexander.deuc...@amd.com>
Cc: Alex Deucher <alexander.deuc...@amd.com>
Cc: "Christian König" <christian.koe...@amd.com>
Cc: "Pan, Xinhui" <xinhui....@amd.com>
---
 drivers/gpu/drm/radeon/Kconfig        | 1 +
 drivers/gpu/drm/radeon/radeon_fbdev.c | 9 +++------
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/radeon/Kconfig b/drivers/gpu/drm/radeon/Kconfig
index e19d77d58810..fe498c8af1bb 100644
--- a/drivers/gpu/drm/radeon/Kconfig
+++ b/drivers/gpu/drm/radeon/Kconfig
@@ -11,6 +11,7 @@ config DRM_RADEON
        select DRM_SUBALLOC_HELPER
         select DRM_TTM
        select DRM_TTM_HELPER
+       select FB_IO_HELPERS if DRM_FBDEV_EMULATION
        select SND_HDA_COMPONENT if SND_HDA_CORE
        select POWER_SUPPLY
        select HWMON
diff --git a/drivers/gpu/drm/radeon/radeon_fbdev.c 
b/drivers/gpu/drm/radeon/radeon_fbdev.c
index fe76e29910ef..28212c2d6c98 100644
--- a/drivers/gpu/drm/radeon/radeon_fbdev.c
+++ b/drivers/gpu/drm/radeon/radeon_fbdev.c
@@ -24,6 +24,7 @@
  *     David Airlie
  */
 
+#include <linux/fb.h>
 #include <linux/pci.h>
 #include <linux/pm_runtime.h>
 #include <linux/vga_switcheroo.h>
@@ -190,14 +191,10 @@ static void radeon_fbdev_fb_destroy(struct fb_info *info)
 
 static const struct fb_ops radeon_fbdev_fb_ops = {
        .owner = THIS_MODULE,
-       DRM_FB_HELPER_DEFAULT_OPS,
        .fb_open = radeon_fbdev_fb_open,
        .fb_release = radeon_fbdev_fb_release,
-       .fb_read = drm_fb_helper_cfb_read,
-       .fb_write = drm_fb_helper_cfb_write,
-       .fb_fillrect = drm_fb_helper_cfb_fillrect,
-       .fb_copyarea = drm_fb_helper_cfb_copyarea,
-       .fb_imageblit = drm_fb_helper_cfb_imageblit,
+       FB_DEFAULT_IO_OPS,
+       DRM_FB_HELPER_DEFAULT_OPS,
        .fb_destroy = radeon_fbdev_fb_destroy,
 };
 
-- 
2.40.1

Reply via email to