drm: Switch DRM_DISPLAY_HELPER to depends on
authorMaxime Ripard <mripard@kernel.org>
Wed, 27 Mar 2024 10:57:03 +0000 (11:57 +0100)
committerMaxime Ripard <mripard@kernel.org>
Thu, 28 Mar 2024 10:26:49 +0000 (11:26 +0100)
Most of our helpers have relied on being selected so far through
Kconfig, but that creates issues when we have multiple layers of helpers
with some depending on others.

Indeed, select doesn't select a dependency's dependencies, and thus
isn't super intuitive. Depends on however doesn't have that limitation,
so we can just switch all the drivers that were selecting
DRM_DISPLAY_HELPER to depend on it.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://lore.kernel.org/r/20240327-kms-kconfig-helpers-v3-8-eafee11b84b3@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
19 files changed:
drivers/gpu/drm/Kconfig
drivers/gpu/drm/amd/amdgpu/Kconfig
drivers/gpu/drm/bridge/Kconfig
drivers/gpu/drm/bridge/analogix/Kconfig
drivers/gpu/drm/bridge/cadence/Kconfig
drivers/gpu/drm/bridge/synopsys/Kconfig
drivers/gpu/drm/display/Kconfig
drivers/gpu/drm/exynos/Kconfig
drivers/gpu/drm/i915/Kconfig
drivers/gpu/drm/mediatek/Kconfig
drivers/gpu/drm/msm/Kconfig
drivers/gpu/drm/nouveau/Kconfig
drivers/gpu/drm/panel/Kconfig
drivers/gpu/drm/radeon/Kconfig
drivers/gpu/drm/rockchip/Kconfig
drivers/gpu/drm/tegra/Kconfig
drivers/gpu/drm/vc4/Kconfig
drivers/gpu/drm/xe/Kconfig
drivers/gpu/drm/xlnx/Kconfig

index 16029435b750a1285d71e16fd41aedea9f0577ac..1eb939463c35ac2c459f15e38cfd4253a5f356c9 100644 (file)
@@ -73,10 +73,12 @@ config DRM_KUNIT_TEST_HELPERS
 
 config DRM_KUNIT_TEST
        tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
-       depends on DRM && KUNIT && MMU
+       depends on DRM
+       depends on DRM_DISPLAY_HELPER
+       depends on KUNIT
+       depends on MMU
        select DRM_BUDDY
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_EXEC
        select DRM_EXPORT_FOR_TESTS if m
        select DRM_GEM_SHMEM_HELPER
index 22d88f8ef5279a0f8ab1b1fc0f318a749b06ff46..cf931b94a1889746277d744d7f7266d66d22612d 100644 (file)
@@ -2,13 +2,15 @@
 
 config DRM_AMDGPU
        tristate "AMD GPU"
-       depends on DRM && PCI && MMU
+       depends on DRM
+       depends on DRM_DISPLAY_HELPER
+       depends on MMU
+       depends on PCI
        depends on !UML
        select FW_LOADER
        select DRM_DISPLAY_DP_HELPER
        select DRM_DISPLAY_HDMI_HELPER
        select DRM_DISPLAY_HDCP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select DRM_SCHED
        select DRM_TTM
index 703c3e30885b195ec17d1b3bfceaf6fc70c5a279..aa870e68e165f2888f480faf20ccfd2e68d47cce 100644 (file)
@@ -92,10 +92,10 @@ config DRM_FSL_LDB
 
 config DRM_ITE_IT6505
        tristate "ITE IT6505 DisplayPort bridge"
+       depends on DRM_DISPLAY_HELPER
        depends on OF
        select DRM_DISPLAY_DP_HELPER
        select DRM_DISPLAY_HDCP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_DISPLAY_DP_AUX_BUS
        select DRM_KMS_HELPER
        select DRM_DP_HELPER
@@ -226,9 +226,9 @@ config DRM_PARADE_PS8622
 
 config DRM_PARADE_PS8640
        tristate "Parade PS8640 MIPI DSI to eDP Converter"
+       depends on DRM_DISPLAY_HELPER
        depends on OF
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_DISPLAY_DP_AUX_BUS
        select DRM_KMS_HELPER
        select DRM_MIPI_DSI
@@ -313,9 +313,9 @@ config DRM_TOSHIBA_TC358764
 
 config DRM_TOSHIBA_TC358767
        tristate "Toshiba TC358767 eDP bridge"
+       depends on DRM_DISPLAY_HELPER
        depends on OF
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select REGMAP_I2C
        select DRM_MIPI_DSI
@@ -336,9 +336,9 @@ config DRM_TOSHIBA_TC358768
 
 config DRM_TOSHIBA_TC358775
        tristate "Toshiba TC358775 DSI/LVDS bridge"
+       depends on DRM_DISPLAY_HELPER
        depends on OF
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select REGMAP_I2C
        select DRM_PANEL
@@ -381,9 +381,9 @@ config DRM_TI_SN65DSI83
 
 config DRM_TI_SN65DSI86
        tristate "TI SN65DSI86 DSI to eDP bridge"
+       depends on DRM_DISPLAY_HELPER
        depends on OF
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select REGMAP_I2C
        select DRM_PANEL
index 4846b2e9be7c2a5da18f6a3cdec53ef5766455e0..16d18dde483ae9c43905d2f7b4f49f80400251be 100644 (file)
@@ -1,10 +1,10 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_ANALOGIX_ANX6345
        tristate "Analogix ANX6345 bridge"
+       depends on DRM_DISPLAY_HELPER
        depends on OF
        select DRM_ANALOGIX_DP
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select REGMAP_I2C
        help
@@ -15,9 +15,9 @@ config DRM_ANALOGIX_ANX6345
 
 config DRM_ANALOGIX_ANX78XX
        tristate "Analogix ANX78XX bridge"
+       depends on DRM_DISPLAY_HELPER
        select DRM_ANALOGIX_DP
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select REGMAP_I2C
        help
@@ -33,10 +33,10 @@ config DRM_ANALOGIX_DP
 config DRM_ANALOGIX_ANX7625
        tristate "Analogix Anx7625 MIPI to DP interface support"
        depends on DRM
+       depends on DRM_DISPLAY_HELPER
        depends on OF
        select DRM_DISPLAY_DP_HELPER
        select DRM_DISPLAY_HDCP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_DISPLAY_DP_AUX_BUS
        select DRM_MIPI_DSI
        help
index cced81633ddcda03d89946e10684727887b3e792..20143afded40e4378cc3b4a13080a9792dad8efb 100644 (file)
@@ -23,12 +23,12 @@ endif
 
 config DRM_CDNS_MHDP8546
        tristate "Cadence DPI/DP bridge"
+       depends on DRM_DISPLAY_HELPER
+       depends on OF
        select DRM_DISPLAY_DP_HELPER
        select DRM_DISPLAY_HDCP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select DRM_PANEL_BRIDGE
-       depends on OF
        help
          Support Cadence DPI to DP bridge. This is an internal
          bridge and is meant to be directly embedded in a SoC.
index 15fc182d05ef02e65541542610964ae028687491..f366ece471462a7061f32049a058b09c38236dd9 100644 (file)
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_DW_HDMI
        tristate
+       depends on DRM_DISPLAY_HELPER
        select DRM_DISPLAY_HDMI_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select REGMAP_MMIO
        select CEC_CORE if CEC_NOTIFIER
index c77e7f85bd674dc91fca9fc93e2bedc7467a9022..cffa2acdbc6c0988114857783b1b578b571e60cc 100644 (file)
@@ -3,6 +3,7 @@
 config DRM_DISPLAY_HELPER
        tristate "DRM Display Helpers"
        depends on DRM
+       default y
        help
          DRM helpers for display adapters.
 
index 733b109a509525f7c17bd69fe2e534073cb796e8..4b0183bf221c8bb26caaa7c0639d03ca5e87b5b6 100644 (file)
@@ -4,7 +4,6 @@ config DRM_EXYNOS
        depends on OF && DRM && COMMON_CLK
        depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
        depends on MMU
-       select DRM_DISPLAY_HELPER if DRM_EXYNOS_DP
        select DRM_KMS_HELPER
        select VIDEOMODE_HELPERS
        select FB_DMAMEM_HELPERS if DRM_FBDEV_EMULATION
@@ -68,6 +67,7 @@ config DRM_EXYNOS_DSI
 config DRM_EXYNOS_DP
        bool "Exynos specific extensions for Analogix DP driver"
        depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON
+       depends on DRM_DISPLAY_HELPER
        select DRM_ANALOGIX_DP
        select DRM_DISPLAY_DP_HELPER
        default DRM_EXYNOS
index 5932024f8f9547e591b3c022a057d298fbcb5f36..43183a68a09557b711cba134df2cee471e45ffc6 100644 (file)
@@ -2,6 +2,7 @@
 config DRM_I915
        tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
        depends on DRM
+       depends on DRM_DISPLAY_HELPER
        depends on X86 && PCI
        depends on !PREEMPT_RT
        select INTEL_GTT if X86
@@ -13,7 +14,6 @@ config DRM_I915
        select DRM_DISPLAY_DP_HELPER
        select DRM_DISPLAY_HDCP_HELPER
        select DRM_DISPLAY_HDMI_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select DRM_PANEL
        select DRM_MIPI_DSI
index 96cbe020f493ab1915b446277429d6a95150e18c..50bb28327f65fbf53ea03ec6b9e0c3766b7218fd 100644 (file)
@@ -22,9 +22,9 @@ config DRM_MEDIATEK
 
 config DRM_MEDIATEK_DP
        tristate "DRM DPTX Support for MediaTek SoCs"
+       depends on DRM_DISPLAY_HELPER
        depends on DRM_MEDIATEK
        select PHY_MTK_DP
-       select DRM_DISPLAY_HELPER
        select DRM_DISPLAY_DP_HELPER
        select DRM_DISPLAY_DP_AUX_BUS
        help
index 27d72ed8b3896b64761cf15ed0a70cef04d0c468..2055266506e5adf0d6867370fffd89178e364274 100644 (file)
@@ -2,9 +2,10 @@
 
 config DRM_MSM
        tristate "MSM DRM"
-       depends on DRM
        depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST
        depends on COMMON_CLK
+       depends on DRM
+       depends on DRM_DISPLAY_HELPER
        depends on IOMMU_SUPPORT
        depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n
        depends on QCOM_OCMEM || QCOM_OCMEM=n
@@ -16,7 +17,6 @@ config DRM_MSM
        select REGULATOR
        select DRM_DISPLAY_DP_AUX_BUS
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_EXEC
        select DRM_KMS_HELPER
        select DRM_PANEL
index ceef470c9fbfcfb08be6abd69627b7e7bc66366d..5ac852b816db262bc4a10c23c2decb4461f822a9 100644 (file)
@@ -1,12 +1,14 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_NOUVEAU
        tristate "Nouveau (NVIDIA) cards"
-       depends on DRM && PCI && MMU
+       depends on DRM
+       depends on DRM_DISPLAY_HELPER
+       depends on PCI
+       depends on MMU
        select IOMMU_API
        select FW_LOADER
        select DRM_DISPLAY_DP_HELPER
        select DRM_DISPLAY_HDMI_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select DRM_TTM
        select DRM_TTM_HELPER
index 9eefe09c2ecbf4e86bca0d85dd82381eb2a1e7fd..c83285811bb33cc2eb1f865ee559c0448643a4c5 100644 (file)
@@ -533,11 +533,11 @@ config DRM_PANEL_RAYDIUM_RM68200
 
 config DRM_PANEL_RAYDIUM_RM692E5
        tristate "Raydium RM692E5-based DSI panel"
-       depends on OF
-       depends on DRM_MIPI_DSI
        depends on BACKLIGHT_CLASS_DEVICE
+       depends on DRM_DISPLAY_HELPER
+       depends on DRM_MIPI_DSI
+       depends on OF
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        help
          Say Y here if you want to enable support for Raydium RM692E5-based
          display panels, such as the one found in the Fairphone 5 smartphone.
@@ -559,11 +559,11 @@ config DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01
 
 config DRM_PANEL_SAMSUNG_ATNA33XC20
        tristate "Samsung ATNA33XC20 eDP panel"
-       depends on OF
        depends on BACKLIGHT_CLASS_DEVICE
+       depends on DRM_DISPLAY_HELPER
+       depends on OF
        depends on PM
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_DISPLAY_DP_AUX_BUS
        help
          DRM panel driver for the Samsung ATNA33XC20 panel. This panel can't
@@ -799,12 +799,12 @@ config DRM_PANEL_STARTEK_KD070FHFID015
 
 config DRM_PANEL_EDP
        tristate "support for simple Embedded DisplayPort panels"
-       depends on OF
        depends on BACKLIGHT_CLASS_DEVICE
+       depends on DRM_DISPLAY_HELPER
+       depends on OF
        depends on PM
        select VIDEOMODE_HELPERS
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_DISPLAY_DP_AUX_BUS
        select DRM_KMS_HELPER
        help
@@ -879,11 +879,11 @@ config DRM_PANEL_TRULY_NT35597_WQXGA
 
 config DRM_PANEL_VISIONOX_R66451
        tristate "Visionox R66451"
-       depends on OF
-       depends on DRM_MIPI_DSI
        depends on BACKLIGHT_CLASS_DEVICE
+       depends on DRM_DISPLAY_HELPER
+       depends on DRM_MIPI_DSI
+       depends on OF
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        help
          Say Y here if you want to enable support for Visionox
          R66451 1080x2340 AMOLED DSI panel.
index f98356be0af288f5ebf5ec3d50138c7cbc1a385a..07d330450f05f899920250688b4b91561699ba60 100644 (file)
@@ -2,11 +2,13 @@
 
 config DRM_RADEON
        tristate "ATI Radeon"
-       depends on DRM && PCI && MMU
        depends on AGP || !AGP
+       depends on DRM
+       depends on DRM_DISPLAY_HELPER
+       depends on PCI
+       depends on MMU
        select FW_LOADER
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
         select DRM_KMS_HELPER
        select DRM_SUBALLOC_HELPER
         select DRM_TTM
index 0d5260e10f272d3b72b5052ea83d5efc01d9e75c..b72c0bbf346da5fa8c0839e3590fc4dd6aaa761e 100644 (file)
@@ -35,8 +35,8 @@ config ROCKCHIP_VOP2
 
 config ROCKCHIP_ANALOGIX_DP
        bool "Rockchip specific extensions for Analogix DP driver"
+       depends on DRM_DISPLAY_HELPER
        depends on ROCKCHIP_VOP
-       select DRM_DISPLAY_HELPER
        select DRM_DISPLAY_DP_HELPER
        help
          This selects support for Rockchip SoC specific extensions
@@ -45,8 +45,8 @@ config ROCKCHIP_ANALOGIX_DP
 
 config ROCKCHIP_CDN_DP
        bool "Rockchip cdn DP"
+       depends on DRM_DISPLAY_HELPER
        depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m)
-       select DRM_DISPLAY_HELPER
        select DRM_DISPLAY_DP_HELPER
        help
          This selects support for Rockchip SoC specific extensions
index 782f51d3044af1fc84af3ea581be438f55764782..44381ee6ea9e36f755f67b2ea64255e5a28d1055 100644 (file)
@@ -4,10 +4,10 @@ config DRM_TEGRA
        depends on ARCH_TEGRA || COMPILE_TEST
        depends on COMMON_CLK
        depends on DRM
+       depends on DRM_DISPLAY_HELPER
        depends on OF
        select DRM_DISPLAY_DP_HELPER
        select DRM_DISPLAY_HDMI_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_DISPLAY_DP_AUX_BUS
        select DRM_KMS_HELPER
        select DRM_MIPI_DSI
index 91dcf8d174d6c6e1e98fcb5f0932e188db11813f..98772a6b5bf0df54738db2e63f156bebab03c0a4 100644 (file)
@@ -2,15 +2,15 @@
 config DRM_VC4
        tristate "Broadcom VC4 Graphics"
        depends on ARCH_BCM || ARCH_BCM2835 || COMPILE_TEST
+       depends on COMMON_CLK
+       depends on DRM
+       depends on DRM_DISPLAY_HELPER
+       depends on PM
        # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
        # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
        depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
-       depends on DRM
        depends on SND && SND_SOC
-       depends on COMMON_CLK
-       depends on PM
        select DRM_DISPLAY_HDMI_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_KMS_HELPER
        select DRM_GEM_DMA_HELPER
        select DRM_PANEL_BRIDGE
index 1a556d087e63c30f62e8afe355ece1913b0b7741..be29e5cd5215e842d4550b15e585997af0b503ee 100644 (file)
@@ -1,7 +1,11 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_XE
        tristate "Intel Xe Graphics"
-       depends on DRM && PCI && MMU && (m || (y && KUNIT=y))
+       depends on (m || (y && KUNIT=y))
+       depends on DRM
+       depends on DRM_DISPLAY_HELPER
+       depends on MMU
+       depends on PCI
        select INTERVAL_TREE
        # we need shmfs for the swappable backing store, and in particular
        # the shmem_readpage() which depends upon tmpfs
@@ -16,7 +20,6 @@ config DRM_XE
        select DRM_DISPLAY_DP_HELPER
        select DRM_DISPLAY_HDCP_HELPER
        select DRM_DISPLAY_HDMI_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_MIPI_DSI
        select RELAY
        select IRQ_WORK
index 68ee897de9d758848fe1632d44a3fba566f97a13..7a14a8c2e7be9e597ab66c58cde72e2aa2da2eb6 100644 (file)
@@ -1,13 +1,15 @@
 config DRM_ZYNQMP_DPSUB
        tristate "ZynqMP DisplayPort Controller Driver"
        depends on ARCH_ZYNQMP || COMPILE_TEST
-       depends on COMMON_CLK && DRM && OF
+       depends on COMMON_CLK
        depends on DMADEVICES
+       depends on DRM
+       depends on DRM_DISPLAY_HELPER
+       depends on OF
        depends on PHY_XILINX_ZYNQMP
        depends on XILINX_ZYNQMP_DPDMA
        select DMA_ENGINE
        select DRM_DISPLAY_DP_HELPER
-       select DRM_DISPLAY_HELPER
        select DRM_GEM_DMA_HELPER
        select DRM_KMS_HELPER
        select GENERIC_PHY