All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Jackie Liu <liu.yun@linux.dev>, daniel@ffwll.ch, mripard@kernel.org
Cc: dri-devel@lists.freedesktop.org, liuyun01@kylinos.cn
Subject: Re: [PATCH] drm/fb: Fix randconfig builds
Date: Mon, 16 Aug 2021 11:33:34 +0300	[thread overview]
Message-ID: <87mtphkcv5.fsf@intel.com> (raw)
In-Reply-To: <9dd92929-24e9-e9e4-b78a-31da3c3ed77d@linux.dev>

On Mon, 16 Aug 2021, Jackie Liu <liu.yun@linux.dev> wrote:
> Hi Jani.
>
> My CI report an randconfigs build failed. there are:
>
> drm_fb_helper.c:(.text+0x302): undefined reference to `fb_set_suspend'
> drm_fb_helper.c:(.text+0xaea): undefined reference to `register_framebuffer'
> drm_fb_helper.c:(.text+0x1dcc): undefined reference to `framebuffer_alloc'
> ld: drm_fb_helper.c:(.text+0x1dea): undefined reference to `fb_alloc_cmap'
> ld: drm_fb_helper.c:(.text+0x1e2f): undefined reference to `fb_dealloc_cmap'
> ld: drm_fb_helper.c:(.text+0x1e5b): undefined reference to 
> `framebuffer_release'
> drm_fb_helper.c:(.text+0x1e85): undefined reference to 
> `unregister_framebuffer'
> drm_fb_helper.c:(.text+0x1ee9): undefined reference to `fb_dealloc_cmap'
> ld: drm_fb_helper.c:(.text+0x1ef0): undefined reference to 
> `framebuffer_release'
> drm_fb_helper.c:(.text+0x1f96): undefined reference to 
> `fb_deferred_io_cleanup'
> drm_fb_helper.c:(.text+0x203b): undefined reference to `fb_sys_read'
> drm_fb_helper.c:(.text+0x2051): undefined reference to `fb_sys_write'
> drm_fb_helper.c:(.text+0x208d): undefined reference to `sys_fillrect'
> drm_fb_helper.c:(.text+0x20bb): undefined reference to `sys_copyarea'
> drm_fb_helper.c:(.text+0x20e9): undefined reference to `sys_imageblit'
> drm_fb_helper.c:(.text+0x2117): undefined reference to `cfb_fillrect'
> drm_fb_helper.c:(.text+0x2172): undefined reference to `cfb_copyarea'
> drm_fb_helper.c:(.text+0x21cd): undefined reference to `cfb_imageblit'
> drm_fb_helper.c:(.text+0x2233): undefined reference to `fb_set_suspend'
> drm_fb_helper.c:(.text+0x22b0): undefined reference to `fb_set_suspend'
> drm_fb_helper.c:(.text+0x250f): undefined reference to `fb_deferred_io_init'
>
> The main reason is because DRM_FBDEV_EMULATION is built-in, and
> CONFIG_FB is compiled as a module.

DRM_FBDEV_EMULATION is not a module, it's just a config
knob. drm_fb_helper.ko is the module, enabled via DRM_KMS_HELPER, and it
has an implicit dependency on FB, and DRM_FBDEV_EMULATION selects
DRM_KMS_HELPER. Select just breaks dependencies in all kinds of ways.

This might help in config DRM_KMS_HELPER, and it might help the reader
because it's factual:

	depends on FB if DRM_FBDEV_EMULATION


BR,
Jani.





>
> --
> Jackie Liu
>
> 在 2021/8/16 下午3:01, Jani Nikula 写道:
>> On Mon, 16 Aug 2021, Jackie Liu <liu.yun@linux.dev> wrote:
>>> From: Jackie Liu <liuyun01@kylinos.cn>
>>>
>>> When CONFIG_DRM_FBDEV_EMULATION is compiled to y and CONFIG_FB is m, the
>>> compilation will fail. we need make that dependency explicit.
>> 
>> What's the failure mode? Using select here is a bad idea.
>> 
>> BR,
>> Jani.
>> 
>>>
>>> Reported-by: k2ci <kernel-bot@kylinos.cn>
>>> Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
>>> ---
>>>   drivers/gpu/drm/Kconfig | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
>>> index 7ff89690a976..346a518b5119 100644
>>> --- a/drivers/gpu/drm/Kconfig
>>> +++ b/drivers/gpu/drm/Kconfig
>>> @@ -98,7 +98,7 @@ 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
>>> +	select FB
>>>   	select DRM_KMS_HELPER
>>>   	select FB_CFB_FILLRECT
>>>   	select FB_CFB_COPYAREA
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center

  reply	other threads:[~2021-08-16  8:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-16  6:48 [PATCH] drm/fb: Fix randconfig builds Jackie Liu
2021-08-16  7:01 ` Jani Nikula
2021-08-16  7:16   ` Jackie Liu
2021-08-16  8:33     ` Jani Nikula [this message]
2021-08-16  8:48       ` Jackie Liu
2021-08-16  8:55         ` Jani Nikula
2021-08-16  8:56           ` Jani Nikula
2021-08-16  9:49             ` Jackie Liu
2021-08-16  7:42   ` Jackie Liu
2021-08-16  8:35     ` Jani Nikula
2021-08-16  8:47       ` Jackie Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mtphkcv5.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=liu.yun@linux.dev \
    --cc=liuyun01@kylinos.cn \
    --cc=mripard@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.