From e2676e28e66d91491b3af6f6a8e7e60c3479cf53 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 17 Apr 2025 07:49:56 +0000 Subject: [PATCH] Revert "drm: Add client-agnostic setup helper" This reverts commit 09d1157182d0f669c48c7f5d1b0621ff46db21ea which is commit d07fdf9225922d3e36ebd13ccab3df62b1ccdab3 upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: Icf3f88523ecbcb25f0883328ea023b9d0c50fc14 Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/Kconfig | 12 ------ drivers/gpu/drm/Makefile | 2 - drivers/gpu/drm/drm_client_setup.c | 66 ------------------------------ include/drm/drm_client_setup.h | 26 ------------ 4 files changed, 106 deletions(-) delete mode 100644 drivers/gpu/drm/drm_client_setup.c delete mode 100644 include/drm/drm_client_setup.h diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index ae53f26da945..7408ea8caacc 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -211,18 +211,6 @@ config DRM_DEBUG_MODESET_LOCK If in doubt, say "N". -config DRM_CLIENT_SELECTION - bool - depends on DRM - select DRM_CLIENT_SETUP if DRM_FBDEV_EMULATION - help - Drivers that support in-kernel DRM clients have to select this - option. - -config DRM_CLIENT_SETUP - bool - depends on DRM_CLIENT_SELECTION - config DRM_FBDEV_EMULATION bool "Enable legacy fbdev support for your modesetting driver" depends on DRM diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index 1ec44529447a..a1dd0909fa38 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -144,8 +144,6 @@ drm_kms_helper-y := \ drm_rect.o \ drm_self_refresh_helper.o \ drm_simple_kms_helper.o -drm_kms_helper-$(CONFIG_DRM_CLIENT_SETUP) += \ - drm_client_setup.o drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += \ drm_fbdev_client.o \ diff --git a/drivers/gpu/drm/drm_client_setup.c b/drivers/gpu/drm/drm_client_setup.c deleted file mode 100644 index 5969c4ffe31b..000000000000 --- a/drivers/gpu/drm/drm_client_setup.c +++ /dev/null @@ -1,66 +0,0 @@ -// SPDX-License-Identifier: MIT - -#include -#include -#include -#include -#include - -/** - * drm_client_setup() - Setup in-kernel DRM clients - * @dev: DRM device - * @format: Preferred pixel format for the device. Use NULL, unless - * there is clearly a driver-preferred format. - * - * This function sets up the in-kernel DRM clients. Restore, hotplug - * events and teardown are all taken care of. - * - * Drivers should call drm_client_setup() after registering the new - * DRM device with drm_dev_register(). This function is safe to call - * even when there are no connectors present. Setup will be retried - * on the next hotplug event. - * - * The clients are destroyed by drm_dev_unregister(). - */ -void drm_client_setup(struct drm_device *dev, const struct drm_format_info *format) -{ - int ret; - - ret = drm_fbdev_client_setup(dev, format); - if (ret) - drm_warn(dev, "Failed to set up DRM client; error %d\n", ret); -} -EXPORT_SYMBOL(drm_client_setup); - -/** - * drm_client_setup_with_fourcc() - Setup in-kernel DRM clients for color mode - * @dev: DRM device - * @fourcc: Preferred pixel format as 4CC code for the device - * - * This function sets up the in-kernel DRM clients. It is equivalent - * to drm_client_setup(), but expects a 4CC code as second argument. - */ -void drm_client_setup_with_fourcc(struct drm_device *dev, u32 fourcc) -{ - drm_client_setup(dev, drm_format_info(fourcc)); -} -EXPORT_SYMBOL(drm_client_setup_with_fourcc); - -/** - * drm_client_setup_with_color_mode() - Setup in-kernel DRM clients for color mode - * @dev: DRM device - * @color_mode: Preferred color mode for the device - * - * This function sets up the in-kernel DRM clients. It is equivalent - * to drm_client_setup(), but expects a color mode as second argument. - * - * Do not use this function in new drivers. Prefer drm_client_setup() with a - * format of NULL. - */ -void drm_client_setup_with_color_mode(struct drm_device *dev, unsigned int color_mode) -{ - u32 fourcc = drm_driver_color_mode_format(dev, color_mode); - - drm_client_setup_with_fourcc(dev, fourcc); -} -EXPORT_SYMBOL(drm_client_setup_with_color_mode); diff --git a/include/drm/drm_client_setup.h b/include/drm/drm_client_setup.h deleted file mode 100644 index 46aab3fb46be..000000000000 --- a/include/drm/drm_client_setup.h +++ /dev/null @@ -1,26 +0,0 @@ -/* SPDX-License-Identifier: MIT */ - -#ifndef DRM_CLIENT_SETUP_H -#define DRM_CLIENT_SETUP_H - -#include - -struct drm_device; -struct drm_format_info; - -#if defined(CONFIG_DRM_CLIENT_SETUP) -void drm_client_setup(struct drm_device *dev, const struct drm_format_info *format); -void drm_client_setup_with_fourcc(struct drm_device *dev, u32 fourcc); -void drm_client_setup_with_color_mode(struct drm_device *dev, unsigned int color_mode); -#else -static inline void drm_client_setup(struct drm_device *dev, - const struct drm_format_info *format) -{ } -static inline void drm_client_setup_with_fourcc(struct drm_device *dev, u32 fourcc) -{ } -static inline void drm_client_setup_with_color_mode(struct drm_device *dev, - unsigned int color_mode) -{ } -#endif - -#endif