Commit 1f828b4d authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

drm/client: Make client support optional



Only build client code if DRM_CLIENT has been selected. Automatially
do so if one of the default clients has been enabled. If client support
has been disabled, the helpers for client-related events are empty and
the regular client functions are not present.

Amdgpu has an internal DRM client, so it has to select DRM_CLIENT by
itself unconditionally.

v3:
- provide empty drm_client_debugfs_init() if DRM_CLIENT=n (kernel
  test robot)

Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Xinhui Pan <Xinhui.Pan@amd.com>
Reviewed-by: default avatarJonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241014085740.582287-12-tzimmermann@suse.de
parent 88c79de8
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -210,6 +210,15 @@ config DRM_DEBUG_MODESET_LOCK

	  If in doubt, say "N".

config DRM_CLIENT
	bool
	depends on DRM
	help
	  Enables support for DRM clients. DRM drivers that need
	  struct drm_client_dev and its interfaces should select this
	  option. Drivers that support the default clients should
	  select DRM_CLIENT_SELECTION instead.

config DRM_CLIENT_SELECTION
	bool
	depends on DRM
@@ -225,6 +234,7 @@ config DRM_CLIENT_SETUP
config DRM_FBDEV_EMULATION
	bool "Enable legacy fbdev support for your modesetting driver"
	depends on DRM
	select DRM_CLIENT
	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
	default FB
	help
+4 −3
Original line number Diff line number Diff line
@@ -40,9 +40,6 @@ drm-y := \
	drm_blend.o \
	drm_bridge.o \
	drm_cache.o \
	drm_client.o \
	drm_client_event.o \
	drm_client_modeset.o \
	drm_color_mgmt.o \
	drm_connector.o \
	drm_crtc.o \
@@ -76,6 +73,10 @@ drm-y := \
	drm_vblank_work.o \
	drm_vma_manager.o \
	drm_writeback.o
drm-$(CONFIG_DRM_CLIENT) += \
	drm_client.o \
	drm_client_event.o \
	drm_client_modeset.o
drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o
drm-$(CONFIG_COMPAT) += drm_ioc32.o
drm-$(CONFIG_DRM_PANEL) += drm_panel.o
+1 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ config DRM_AMDGPU
	depends on DRM && PCI && MMU
	depends on !UML
	select FW_LOADER
	select DRM_CLIENT
	select DRM_CLIENT_SELECTION
	select DRM_DISPLAY_DP_HELPER
	select DRM_DISPLAY_DSC_HELPER
+2 −0
Original line number Diff line number Diff line
@@ -14,6 +14,8 @@
#include <drm/drm_drv.h>
#include <drm/drm_print.h>

#include "drm_internal.h"

/**
 * drm_client_dev_unregister - Unregister clients
 * @dev: DRM device
+0 −1
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@
#include <drm/drm_atomic.h>
#include <drm/drm_auth.h>
#include <drm/drm_bridge.h>
#include <drm/drm_client.h>
#include <drm/drm_debugfs.h>
#include <drm/drm_device.h>
#include <drm/drm_drv.h>
Loading