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

Jiri Slaby
2021-11-19T07:56:52Z

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