On 19. 11. 21, 8:50, Jiri Slaby wrote:
On 15. 11. 21, 18:05, Greg Kroah-Hartman wrote:
From: Arnd Bergmann arnd@arndb.de
[ Upstream commit 9d6366e743f37d36ef69347924ead7bcc596076e ]
Hi,
this breaks build on openSUSE's armv7hl config: $ wget -O .config https://raw.githubusercontent.com/openSUSE/kernel-source/stable/config/armv7...
$ 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@intel.com Reviewed-by: Javier Martinez Canillas javierm@redhat.com Signed-off-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Daniel Vetter daniel.vetter@ffwll.ch Link: https://patchwork.freedesktop.org/patch/msgid/20211029120307.1407047-1-arnd@...
Signed-off-by: Sasha Levin sashal@kernel.org
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