drm/fbdev: Move fbdev helpers into client library

DRM's fbdev helpers are for the fbdev-emulation clients. Move them
into the client-library module. Fix include statements throughout
DRM drivers.

While at it, rename the files from drm_fb_helper to drm_fbdev_helper.
The old name was too reminiscent of DRM's framebuffer code.

The GEM support code for fbdev remains part of DRM's memory managers.

v4:
- fix the depedendencies from v3
v3:
- remove obsolete dependencies from Kconfig
v2:
- update armada und docs

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patch.msgid.link/20260928080323.23909-3-tzimmermann@suse.de
This commit is contained in:
Thomas Zimmermann 2026-09-28 10:01:25 +02:00
parent 6b5a66fd9f
commit 6ccc5b5fc1
27 changed files with 30 additions and 33 deletions

View File

@ -109,13 +109,13 @@ VBLANK Helper Reference
fbdev Helper Functions Reference
================================
.. kernel-doc:: drivers/gpu/drm/drm_fb_helper.c
.. kernel-doc:: drivers/gpu/drm/clients/drm_fbdev_helper.c
:doc: fbdev helpers
.. kernel-doc:: include/drm/drm_fb_helper.h
.. kernel-doc:: include/drm/clients/drm_fbdev_helper.h
:internal:
.. kernel-doc:: drivers/gpu/drm/drm_fb_helper.c
.. kernel-doc:: drivers/gpu/drm/clients/drm_fbdev_helper.c
:export:
Draw Helper Functions Reference

View File

@ -46,7 +46,6 @@ config DRM_KMS_HELPER
tristate
depends on DRM
select DRM_PANIC_HELPER if DRM_PANIC
select FB_CORE if DRM_FBDEV_EMULATION
help
CRTC helpers for KMS drivers.
@ -256,7 +255,7 @@ config DRM_TTM_HELPER
tristate
depends on DRM
select DRM_TTM
select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION
select FB_CORE if DRM_FBDEV_EMULATION
select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
help
@ -265,7 +264,7 @@ config DRM_TTM_HELPER
config DRM_GEM_DMA_HELPER
tristate
depends on DRM
select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION
select FB_CORE if DRM_FBDEV_EMULATION
select FB_DMAMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
help
@ -274,7 +273,7 @@ config DRM_GEM_DMA_HELPER
config DRM_GEM_SHMEM_HELPER
tristate
depends on DRM && MMU
select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION
select FB_CORE if DRM_FBDEV_EMULATION
select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
help

View File

@ -158,7 +158,6 @@ drm_kms_helper-y := \
drm_vblank_helper.o
drm_kms_helper-$(CONFIG_DRM_PANIC_HELPER) += drm_panic_helper.o
drm_kms_helper-$(CONFIG_DRM_PANIC_SCREEN_QR_CODE) += drm_panic_helper_qr.o
drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o
obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
#

View File

@ -38,11 +38,11 @@
#include <linux/pci.h>
#include <linux/pm_runtime.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_damage_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_edid.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_modeset_helper.h>

View File

@ -28,8 +28,8 @@
#include "amdgpu.h"
#include <drm/amdgpu_drm.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fb_helper.h>
#include "amdgpu_uvd.h"
#include "amdgpu_vce.h"
#include "atom.h"

View File

@ -9,9 +9,9 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_print.h>

View File

@ -4,5 +4,6 @@ subdir-ccflags-y += -I$(src)/..
drm_client_lib-y := drm_client_setup.o
drm_client_lib-$(CONFIG_DRM_CLIENT_LOG) += drm_log.o
drm_client_lib-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_client.o
drm_client_lib-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_client.o \
drm_fbdev_helper.o
obj-$(CONFIG_DRM_CLIENT_LIB) += drm_client_lib.o

View File

@ -1,9 +1,9 @@
// SPDX-License-Identifier: MIT
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_client.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_print.h>

View File

@ -32,9 +32,9 @@
#include <linux/console.h>
#include <linux/export.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_atomic.h>
#include <drm/drm_drv.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_framebuffer_helper.h>

View File

@ -4,10 +4,10 @@
#include <linux/fb.h>
#include <linux/vmalloc.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_dma.h>
#include <drm/drm_fb_dma_helper.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_print.h>

View File

@ -3,9 +3,9 @@
#include <linux/export.h>
#include <linux/fb.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_shmem.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_gem_shmem_helper.h>

View File

@ -4,9 +4,9 @@
#include <linux/moduleparam.h>
#include <linux/vmalloc.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem.h>
#include <drm/drm_print.h>

View File

@ -10,9 +10,9 @@
#include <linux/fb.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_prime.h>

View File

@ -7,9 +7,9 @@
#include <linux/fb.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_framebuffer.h>
#include "gem.h"

View File

@ -38,10 +38,10 @@
#include <linux/vga_switcheroo.h>
#include <drm/clients/drm_client_setup.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/intel/display_parent_interface.h>
#include <drm/drm_crtc.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_gem.h>
#include <drm/drm_gem_framebuffer_helper.h>

View File

@ -9,8 +9,8 @@
#include <linux/debugfs.h>
#include <linux/fault-inject.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_debugfs.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_file.h>
#include <drm/drm_framebuffer.h>

View File

@ -6,9 +6,9 @@
#include <linux/fb.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_file.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>

View File

@ -40,7 +40,6 @@
#include <drm/drm_atomic_helper.h>
#include <drm/drm_edid.h>
#include <drm/drm_eld.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fixed.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_vblank.h>

View File

@ -6,10 +6,10 @@
#include <linux/seq_file.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_crtc.h>
#include <drm/drm_debugfs.h>
#include <drm/drm_file.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_print.h>

View File

@ -7,9 +7,9 @@
#include <linux/fb.h>
#include <drm/clients/drm_client_setup.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_file.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>

View File

@ -33,11 +33,11 @@
#include <linux/vga_switcheroo.h>
#include <linux/vgaarb.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_cache.h>
#include <drm/drm_client_event.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_device.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_file.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_probe_helper.h>

View File

@ -29,9 +29,9 @@
#include <linux/pm_runtime.h>
#include <linux/vga_switcheroo.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_framebuffer_helper.h>

View File

@ -8,9 +8,9 @@
#include <linux/iommu.h>
#include <linux/vmalloc.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm.h>
#include <drm/drm_dumb_buffers.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_gem.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_prime.h>

View File

@ -20,7 +20,6 @@
#include <drm/drm_damage_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_encoder.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fbdev_shmem.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>

View File

@ -11,9 +11,9 @@
#include <linux/fb.h>
#include <linux/vmalloc.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_framebuffer_helper.h>

View File

@ -13,11 +13,11 @@
#include <linux/iosys-map.h>
#include <linux/export.h>
#include <drm/clients/drm_fbdev_helper.h>
#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_blend.h>
#include <drm/drm_edid.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_atomic_helper.h>

View File

@ -27,8 +27,8 @@
* Dave Airlie <airlied@linux.ie>
* Jesse Barnes <jesse.barnes@intel.com>
*/
#ifndef DRM_FB_HELPER_H
#define DRM_FB_HELPER_H
#ifndef DRM_FBDEV_HELPER_H
#define DRM_FBDEV_HELPER_H
struct drm_clip_rect;
struct drm_fb_helper;