From patchwork Fri Dec 4 13:12:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Enrico Weigelt, metux IT consult" X-Patchwork-Id: 11955113 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3C8E6C19437 for ; Mon, 7 Dec 2020 08:58:16 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CD9AE23108 for ; Mon, 7 Dec 2020 08:58:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CD9AE23108 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=metux.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D9E306E823; Mon, 7 Dec 2020 08:57:32 +0000 (UTC) X-Greylist: delayed 540 seconds by postgrey-1.36 at gabe; Fri, 04 Dec 2020 13:21:28 UTC Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by gabe.freedesktop.org (Postfix) with ESMTPS id 47D006E17B for ; Fri, 4 Dec 2020 13:21:28 +0000 (UTC) Received: from orion.localdomain ([95.114.158.118]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MYcy3-1kgWBh3Gol-00Veyn; Fri, 04 Dec 2020 14:12:22 +0100 From: "Enrico Weigelt, metux IT consult" To: linux-kernel@vger.kernel.org Subject: [PATCH] drivers: gpu: drm: virtio: fix dependency of DRM_VIRTIO_GPU on VIRTIO Date: Fri, 4 Dec 2020 14:12:21 +0100 Message-Id: <20201204131221.2827-1-info@metux.net> X-Mailer: git-send-email 2.11.0 X-Provags-ID: V03:K1:3Im9AR8enAhEZ521drYds2y30UO6XrMQxF7XSNeRaHzWJtu0806 nomRdpnhyqV9yq3cBgTAy9GY7ZuqnPpXvXM4RYvkgZ6VZwhypBYgx9OZ6LbDbl+uL1ivihl c3jNOwd4B09o3DTB1Je5/4NeVyCGFGPxXeU2Lio/C8KpRElAOpzJTx8oDvGpOKEOwx3JZS+ zRV38mFeCRPfFCwMuz+jw== X-UI-Out-Filterresults: notjunk:1;V03:K0:8UJG8JyP2co=:H6gfRpp0gBQiq8eHCJKPS3 +K+kT0fYezS+dcwg7B4Nun2dkvHFKAgG9sL1vdCJYABPsxbw82IuDdkm/fDBJNpcR2CFnHmC0 dSkOXeDy2MFMsYizVnVJhvkAtGPqA1vjqy0JiZ6vXflo6z/hf+8OwTBlfZ5p4NK27R6FHYSPH +7y5C6YYUf/HYqtIQchF/lwwM2rpsMmXCVnE2v8coKvyJvgFn2qNmk+J3+gIYiMHz9jqfcric /MxSW6RuVaqHYsNX2I/vUSA3qLT/hBIhCRNU0NvW96oMcLorOKDtNGtuQa6X7vRzHOlbNlyGH eNuythkRNLgd5Wdp9E+L7pRYLhtQMscVcPwvgnvKCu5Z0vAu0/2hTaDDkshNnCV4e/YA6xYLB lBDmQOdr6yNsvQwz7GNo3OxPTVEChpVsd1HHMTrKw3LdFBwZR4xVyJrDjd/Sn X-Mailman-Approved-At: Mon, 07 Dec 2020 08:56:49 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: airlied@linux.ie, dri-devel@lists.freedesktop.org, kraxel@redhat.com, virtualization@lists.linux-foundation.org MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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 Reviewed-by: Anthoine Bourgeois --- 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