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

Jiri Slaby
2021-11-19T07:50:10Z

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/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…

> 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@kernel.org
> 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
>

--
js
suse labs