diff mbox series

drm/mediatek: stop selecting foreign drivers

Message ID 20241218085837.2670434-1-arnd@kernel.org (mailing list archive)
State New
Headers show
Series drm/mediatek: stop selecting foreign drivers | expand

Commit Message

Arnd Bergmann Dec. 18, 2024, 8:58 a.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

The PHY portion of the mediatek hdmi driver was originally part of
the driver it self and later split out into drivers/phy, which a
'select' to keep the prior behavior.

However, this leads to build failures when the PHY driver cannot
be built:

WARNING: unmet direct dependencies detected for PHY_MTK_HDMI
  Depends on [n]: (ARCH_MEDIATEK || COMPILE_TEST [=y]) && COMMON_CLK [=y] && OF [=y] && REGULATOR [=n]
  Selected by [m]:
  - DRM_MEDIATEK_HDMI [=m] && HAS_IOMEM [=y] && DRM [=m] && DRM_MEDIATEK [=m]
ERROR: modpost: "devm_regulator_register" [drivers/phy/mediatek/phy-mtk-hdmi-drv.ko] undefined!
ERROR: modpost: "rdev_get_drvdata" [drivers/phy/mediatek/phy-mtk-hdmi-drv.ko] undefined!

The best option here is to just not select the phy driver and leave that
up to the defconfig. Do the same for the other PHY and memory drivers
selected here as well for consistency.

Fixes: a481bf2f0ca4 ("drm/mediatek: Separate mtk_hdmi_phy to an independent module")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/mediatek/Kconfig | 5 -----
 1 file changed, 5 deletions(-)

Comments

Geert Uytterhoeven Dec. 18, 2024, 10:01 a.m. UTC | #1
Hi Arnd,

On Wed, Dec 18, 2024 at 9:58 AM Arnd Bergmann <arnd@kernel.org> wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> The PHY portion of the mediatek hdmi driver was originally part of
> the driver it self and later split out into drivers/phy, which a
> 'select' to keep the prior behavior.
>
> However, this leads to build failures when the PHY driver cannot
> be built:
>
> WARNING: unmet direct dependencies detected for PHY_MTK_HDMI
>   Depends on [n]: (ARCH_MEDIATEK || COMPILE_TEST [=y]) && COMMON_CLK [=y] && OF [=y] && REGULATOR [=n]
>   Selected by [m]:
>   - DRM_MEDIATEK_HDMI [=m] && HAS_IOMEM [=y] && DRM [=m] && DRM_MEDIATEK [=m]
> ERROR: modpost: "devm_regulator_register" [drivers/phy/mediatek/phy-mtk-hdmi-drv.ko] undefined!
> ERROR: modpost: "rdev_get_drvdata" [drivers/phy/mediatek/phy-mtk-hdmi-drv.ko] undefined!
>
> The best option here is to just not select the phy driver and leave that
> up to the defconfig. Do the same for the other PHY and memory drivers
> selected here as well for consistency.
>
> Fixes: a481bf2f0ca4 ("drm/mediatek: Separate mtk_hdmi_phy to an independent module")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Thanks for your patch!

> --- a/drivers/gpu/drm/mediatek/Kconfig
> +++ b/drivers/gpu/drm/mediatek/Kconfig
> @@ -15,9 +15,6 @@ config DRM_MEDIATEK
>         select DRM_BRIDGE_CONNECTOR
>         select DRM_MIPI_DSI
>         select DRM_PANEL
> -       select MEMORY
> -       select MTK_SMI
> -       select PHY_MTK_MIPI_DSI
>         select VIDEOMODE_HELPERS
>         help
>           Choose this option if you have a Mediatek SoCs.
> @@ -28,7 +25,6 @@ config DRM_MEDIATEK
>  config DRM_MEDIATEK_DP
>         tristate "DRM DPTX Support for MediaTek SoCs"
>         depends on DRM_MEDIATEK
> -       select PHY_MTK_DP
>         select DRM_DISPLAY_HELPER
>         select DRM_DISPLAY_DP_HELPER
>         select DRM_DISPLAY_DP_AUX_BUS
> @@ -39,6 +35,5 @@ config DRM_MEDIATEK_HDMI
>         tristate "DRM HDMI Support for Mediatek SoCs"
>         depends on DRM_MEDIATEK
>         select SND_SOC_HDMI_CODEC if SND_SOC
> -       select PHY_MTK_HDMI
>         help
>           DRM/KMS HDMI driver for Mediatek SoCs

What about replacing select by imply?

Alternatively, PHY_MTK_HDMI could default to DRM_MEDIATEK ||
DRM_MEDIATEK_DP || DRM_MEDIATEK_HDMI.

Gr{oetje,eeting}s,

                        Geert
AngeloGioacchino Del Regno Dec. 18, 2024, 10:50 a.m. UTC | #2
Il 18/12/24 09:58, Arnd Bergmann ha scritto:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The PHY portion of the mediatek hdmi driver was originally part of
> the driver it self and later split out into drivers/phy, which a
> 'select' to keep the prior behavior.
> 
> However, this leads to build failures when the PHY driver cannot
> be built:
> 
> WARNING: unmet direct dependencies detected for PHY_MTK_HDMI
>    Depends on [n]: (ARCH_MEDIATEK || COMPILE_TEST [=y]) && COMMON_CLK [=y] && OF [=y] && REGULATOR [=n]
>    Selected by [m]:
>    - DRM_MEDIATEK_HDMI [=m] && HAS_IOMEM [=y] && DRM [=m] && DRM_MEDIATEK [=m]
> ERROR: modpost: "devm_regulator_register" [drivers/phy/mediatek/phy-mtk-hdmi-drv.ko] undefined!
> ERROR: modpost: "rdev_get_drvdata" [drivers/phy/mediatek/phy-mtk-hdmi-drv.ko] undefined!
> 
> The best option here is to just not select the phy driver and leave that
> up to the defconfig. Do the same for the other PHY and memory drivers
> selected here as well for consistency.
> 
> Fixes: a481bf2f0ca4 ("drm/mediatek: Separate mtk_hdmi_phy to an independent module")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

The problem is - no PHY no party, it's not going to work without... but I get the
reasons behind this change.

Are we sure that we can't just add a `depends on PHY_MTK_xxxx` (or extend
depends on DRM_MEDIATEK && PHY_MTK_xxx)?

Cheers,
Angelo

> ---
>   drivers/gpu/drm/mediatek/Kconfig | 5 -----
>   1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/mediatek/Kconfig b/drivers/gpu/drm/mediatek/Kconfig
> index 1c2f56b75716..1d4f20a4f265 100644
> --- a/drivers/gpu/drm/mediatek/Kconfig
> +++ b/drivers/gpu/drm/mediatek/Kconfig
> @@ -15,9 +15,6 @@ config DRM_MEDIATEK
>   	select DRM_BRIDGE_CONNECTOR
>   	select DRM_MIPI_DSI
>   	select DRM_PANEL
> -	select MEMORY
> -	select MTK_SMI
> -	select PHY_MTK_MIPI_DSI
>   	select VIDEOMODE_HELPERS
>   	help
>   	  Choose this option if you have a Mediatek SoCs.
> @@ -28,7 +25,6 @@ config DRM_MEDIATEK
>   config DRM_MEDIATEK_DP
>   	tristate "DRM DPTX Support for MediaTek SoCs"
>   	depends on DRM_MEDIATEK
> -	select PHY_MTK_DP
>   	select DRM_DISPLAY_HELPER
>   	select DRM_DISPLAY_DP_HELPER
>   	select DRM_DISPLAY_DP_AUX_BUS
> @@ -39,6 +35,5 @@ config DRM_MEDIATEK_HDMI
>   	tristate "DRM HDMI Support for Mediatek SoCs"
>   	depends on DRM_MEDIATEK
>   	select SND_SOC_HDMI_CODEC if SND_SOC
> -	select PHY_MTK_HDMI
>   	help
>   	  DRM/KMS HDMI driver for Mediatek SoCs
Arnd Bergmann Dec. 18, 2024, 11:44 a.m. UTC | #3
On Wed, Dec 18, 2024, at 11:50, AngeloGioacchino Del Regno wrote:
> Il 18/12/24 09:58, Arnd Bergmann ha scritto:
>> From: Arnd Bergmann <arnd@arndb.de>
>
> The problem is - no PHY no party, it's not going to work without... but 
> I get the
> reasons behind this change.
>
> Are we sure that we can't just add a `depends on PHY_MTK_xxxx` (or extend
> depends on DRM_MEDIATEK && PHY_MTK_xxx)?

Doing this wouldn't cause any problems, but it also doesn't
really help much, you just have to know which devices are
present and enable all their drivers anyway.

We used to just select all drivers from arch/arm/mach-*/Kconfig
on some older platforms, but this was too much of a hassle.

      Arnd
diff mbox series

Patch

diff --git a/drivers/gpu/drm/mediatek/Kconfig b/drivers/gpu/drm/mediatek/Kconfig
index 1c2f56b75716..1d4f20a4f265 100644
--- a/drivers/gpu/drm/mediatek/Kconfig
+++ b/drivers/gpu/drm/mediatek/Kconfig
@@ -15,9 +15,6 @@  config DRM_MEDIATEK
 	select DRM_BRIDGE_CONNECTOR
 	select DRM_MIPI_DSI
 	select DRM_PANEL
-	select MEMORY
-	select MTK_SMI
-	select PHY_MTK_MIPI_DSI
 	select VIDEOMODE_HELPERS
 	help
 	  Choose this option if you have a Mediatek SoCs.
@@ -28,7 +25,6 @@  config DRM_MEDIATEK
 config DRM_MEDIATEK_DP
 	tristate "DRM DPTX Support for MediaTek SoCs"
 	depends on DRM_MEDIATEK
-	select PHY_MTK_DP
 	select DRM_DISPLAY_HELPER
 	select DRM_DISPLAY_DP_HELPER
 	select DRM_DISPLAY_DP_AUX_BUS
@@ -39,6 +35,5 @@  config DRM_MEDIATEK_HDMI
 	tristate "DRM HDMI Support for Mediatek SoCs"
 	depends on DRM_MEDIATEK
 	select SND_SOC_HDMI_CODEC if SND_SOC
-	select PHY_MTK_HDMI
 	help
 	  DRM/KMS HDMI driver for Mediatek SoCs