Re: [PATCH 5.15 808/917] drm: fb_helper: improve CONFIG_FB dependency

From: Jiri Slaby
Date: Fri Nov 19 2021 - 02:56:56 EST


On 19. 11. 21, 8:50, Jiri Slaby wrote:
On 15. 11. 21, 18:05, Greg Kroah-Hartman wrote:
From: Arnd Bergmann <arnd@xxxxxxxx>

[ Upstream commit 9d6366e743f37d36ef69347924ead7bcc596076e ]

Hi,

this breaks build on openSUSE's armv7hl config:
$ wget -O .config https://raw.githubusercontent.com/openSUSE/kernel-source/stable/config/armv7hl/default
$ make -j168 CROSS_COMPILE=arm-suse-linux-gnueabi- ARCH=arm vmlinux
...
  LD      .tmp_vmlinux.btf
arm-suse-linux-gnueabi-ld: drivers/gpu/drm/panel/panel-simple.o: in function `panel_simple_probe':
drivers/gpu/drm/panel/panel-simple.c:803: undefined reference to `drm_panel_dp_aux_backlight'
$ grep -E 'CONFIG_(DRM|FB|DRM_KMS_HELPER|DRM_FBDEV_EMULATION)\>' .config
CONFIG_DRM=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_FB=y

5.16-rc1 builds just fine -- investigating why…

CLearly because the code moved to panel-edp.c. So doing:
-CONFIG_DRM_PANEL_EDP=m
+CONFIG_DRM_PANEL_EDP=y
leads to the same error in that file:
arm-suse-linux-gnueabi-ld: drivers/gpu/drm/panel/panel-edp.o: in function `panel_edp_probe':
drivers/gpu/drm/panel/panel-edp.c:843: undefined reference to `drm_panel_dp_aux_backlight'

My previous patch correctly addressed the possible link failure, but as
Jani points out, the dependency is now stricter than it needs to be.

Change it again, to allow DRM_FBDEV_EMULATION to be used when
DRM_KMS_HELPER and FB are both loadable modules and DRM is linked into
the kernel.

As a side-effect, the option is now only visible when at least one DRM
driver makes use of DRM_KMS_HELPER. This is better, because the option
has no effect otherwise.

Fixes: 606b102876e3 ("drm: fb_helper: fix CONFIG_FB dependency")
Suggested-by: Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Reviewed-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
Link: https://patchwork.freedesktop.org/patch/msgid/20211029120307.1407047-1-arnd@xxxxxxxxxx
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
  drivers/gpu/drm/Kconfig | 5 ++---
  1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 9199f53861cac..6ae4269118af3 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -102,9 +102,8 @@ config DRM_DEBUG_DP_MST_TOPOLOGY_REFS
  config DRM_FBDEV_EMULATION
      bool "Enable legacy fbdev support for your modesetting driver"
-    depends on DRM
-    depends on FB=y || FB=DRM
-    select DRM_KMS_HELPER
+    depends on DRM_KMS_HELPER
+    depends on FB=y || FB=DRM_KMS_HELPER
      select FB_CFB_FILLRECT
      select FB_CFB_COPYAREA
      select FB_CFB_IMAGEBLIT





--
js
suse labs