[PATCH] drivers: gpu: drm: virtio: fix dependency of DRM_VIRTIO_GPU on VIRTIO

Anthoine Bourgeois anthoine.bourgeois at gmail.com
Mon Dec 7 13:43:02 UTC 2020


On Fri, Dec 04, 2020 at 02:12:21PM +0100, Enrico Weigelt, metux IT consult wrote:
>VIRTIO itself has no dependencies and therefore can easily be just
>select'ed, instead of depending on it. The current depends on causes
>any others trying to select VIRTIO to fail like this:
>
>   drivers/gpu/drm/Kconfig:74:error: recursive dependency detected!
>   drivers/gpu/drm/Kconfig:74:	symbol DRM_KMS_HELPER is selected by DRM_VIRTIO_GPU
>   drivers/gpu/drm/virtio/Kconfig:2:	symbol DRM_VIRTIO_GPU depends on VIRTIO
>   drivers/virtio/Kconfig:2:	symbol VIRTIO is selected by GPIO_VIRTIO
>   drivers/gpio/Kconfig:1618:	symbol GPIO_VIRTIO depends on GPIOLIB
>   drivers/gpio/Kconfig:14:	symbol GPIOLIB is selected by I2C_MUX_LTC4306
>   drivers/i2c/muxes/Kconfig:47:	symbol I2C_MUX_LTC4306 depends on I2C
>   drivers/i2c/Kconfig:8:	symbol I2C is selected by FB_DDC
>   drivers/video/fbdev/Kconfig:63:	symbol FB_DDC depends on FB
>   drivers/video/fbdev/Kconfig:12:	symbol FB is selected by DRM_KMS_FB_HELPER
>   drivers/gpu/drm/Kconfig:80:	symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER
>
>It seems that having both 'depends on' as well as 'select' on the same symbol
>sends us into big trouble, and Kconfig can't break up the circular dependency
>(note that in the tested configuration, neither I2C, FB or DRM are enabled at
>all). Perhaps we could consider this a bug in Kconfig, but the trouble can
>easily be circumvented by changing 'depends on' into 'select'.
>
>DRM_VIRTIO_GPU also depends on VIRTIO_MENU, so even after this change, that
>option will only show up if the user already enabled virtio in the config.
>
>This change didn't cause any changes in the .config after menuconfig run,
>so we should be completely safe here.
>
>Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>

Ok for me. Thank you.

Reviewed-by: Anthoine Bourgeois <anthoine.bourgeois at gmail.com>
>---
> drivers/gpu/drm/virtio/Kconfig | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/virtio/Kconfig b/drivers/gpu/drm/virtio/Kconfig
>index b925b8b1da16..51ec7c3240c9 100644
>--- a/drivers/gpu/drm/virtio/Kconfig
>+++ b/drivers/gpu/drm/virtio/Kconfig
>@@ -1,7 +1,8 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config DRM_VIRTIO_GPU
> 	tristate "Virtio GPU driver"
>-	depends on DRM && VIRTIO && VIRTIO_MENU && MMU
>+	depends on DRM && VIRTIO_MENU && MMU
>+	select VIRTIO
> 	select DRM_KMS_HELPER
> 	select DRM_GEM_SHMEM_HELPER
> 	select VIRTIO_DMA_SHARED_BUFFER
>-- 
>2.11.0
>
>_______________________________________________
>dri-devel mailing list
>dri-devel at lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list