From nobody Fri Dec 19 20:18:21 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D4624EB38 for ; Wed, 22 Jan 2025 09:02:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737536539; cv=none; b=b0ie2M9aslUDVVQp24ckn5Lf0Ys4JRDgrbtJNw9mhj/rHSkxl8gqF4w7Zc/URYUZAqejyUcGjwY3bRSIoWF4wmQA3Wdy87xu++zddamwXzoSTTWglh7w3D2Qa9YoNznf2nlv/Vk2PRNA+cX2xtaFHxrUEE5VQhTR48wM83nKMi4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737536539; c=relaxed/simple; bh=cHGaAR0+/1s5/4TD3iKm/3CaJjr0/Y+2x9Rqn037+Wk=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=KagSmvi+ZgPsBR68Y8KhVrpy6KoXTXX8Ak2t/8YFjE8LKnx/2zHxmyZht916sIls58lEIoxh3MHpOQUMZIzX3vJr20JMqQOr0OOpfTGgcX1o+vvQpzh/SKDjBrgNFKYsapdNu0KLI2yLAkr4BqOhToqyAU+0RfLaza22OZoI564= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bMX1jIuh; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bMX1jIuh" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AA55FC4CED6; Wed, 22 Jan 2025 09:02:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737536536; bh=cHGaAR0+/1s5/4TD3iKm/3CaJjr0/Y+2x9Rqn037+Wk=; h=From:To:Cc:Subject:Date:From; b=bMX1jIuhdvDBsBu6TRaWJuhjllpcf/2C0dd0pzwPHxkmIK7UkXC5jqBTbOgK+gBE1 Z/D5XhaWZm8sh65B/qmL4+F6Gp+hNUHMFAJi+bcmYabzBPVC0tJJiSLAT3Aw4Qa06j fxIYHWkxIv3+nxkkm8Og6iEIHQIqd103qLefk2ZtP68WO1jMcrNKJifZSdm4l3YWuG aAUaZZWZfEf0Rljv+M+dP8iTKQ9XBwbezNtzZgU0gEhK/M4L2il4blj0fkNkYL83AK q4lNAGz+7iuFP/Z/8N7gNgWbPORQoGzFpVGnLN4PrWG9pal8XCgy6abNc4bFFtwFnZ hPw0PdHZmxxbw== From: Arnd Bergmann To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: Arnd Bergmann , Marc Kleine-Budde , Jocelyn Falempe , Jani Nikula , Geert Uytterhoeven , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] [v2] drm: select DRM_KMS_HELPER from DRM_GEM_SHMEM_HELPER Date: Wed, 22 Jan 2025 10:02:03 +0100 Message-Id: <20250122090211.3161186-1-arnd@kernel.org> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann In the combination of DRM_KMS_HELPER=3Dm, DRM_GEM_SHMEM_HELPER=3Dy, DRM_FBD= EV_EMULATION=3Dy, The shmem code fails to link against the KMS helpers: x86_64-linux-ld: vmlinux.o: in function `drm_fbdev_shmem_driver_fbdev_probe= ': (.text+0xeec601): undefined reference to `drm_fb_helper_alloc_info' x86_64-linux-ld: (.text+0xeec633): undefined reference to `drm_fb_helper_fi= ll_info' x86_64-linux-ld: vmlinux.o: in function `drm_fbdev_shmem_get_page': drm_fbdev_shmem.c:(.text+0xeec7d2): undefined reference to `drm_gem_fb_get_= obj' x86_64-linux-ld: vmlinux.o: in function `drm_fbdev_shmem_fb_mmap': drm_fbdev_shmem.c:(.text+0xeec9f6): undefined reference to `drm_gem_fb_get_= obj' x86_64-linux-ld: vmlinux.o: in function `drm_fbdev_shmem_defio_imageblit': (.rodata+0x5b2288): undefined reference to `drm_fb_helper_check_var' x86_64-linux-ld: (.rodata+0x5b2290): undefined reference to `drm_fb_helper_= set_par' This can happen for a number of device drivers that select DRM_GEM_SHMEM_HE= LPER without also selecting DRM_KMS_HELPER. To work around this, add another sel= ect that forces DRM_KMS_HELPER to be built-in rather than a loadable module, but only if FBDEV emulation is also enabled. DRM_TTM_HELPER and DRM_GEM_DMA_HEL= PER look like they have the same problem in theory even if there is no possible configuration that shows it. For consistency, do the same change to those. Closes: https://lore.kernel.org/all/20250121-greedy-flounder-of-abundance-4= d2ee8-mkl@pengutronix.de Reported-by: Marc Kleine-Budde Tested-by: Marc Kleine-Budde Reviewed-by: Thomas Zimmermann Signed-off-by: Arnd Bergmann --- drivers/gpu/drm/Kconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index 0fe99d440bfa..805c6c78498f 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -293,6 +293,7 @@ config DRM_TTM_HELPER tristate depends on DRM select DRM_TTM + select DRM_KMS_HELPER if DRM_FBDEV_EMULATION select FB_CORE if DRM_FBDEV_EMULATION select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION help @@ -301,6 +302,7 @@ config DRM_TTM_HELPER config DRM_GEM_DMA_HELPER tristate depends on DRM + select DRM_KMS_HELPER if DRM_FBDEV_EMULATION select FB_CORE if DRM_FBDEV_EMULATION select FB_DMAMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION help @@ -309,6 +311,7 @@ config DRM_GEM_DMA_HELPER config DRM_GEM_SHMEM_HELPER tristate depends on DRM && MMU + select DRM_KMS_HELPER if DRM_FBDEV_EMULATION select FB_CORE if DRM_FBDEV_EMULATION select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION help --=20 2.39.5