Re: [PATCH] fbdev: simplefb: limit its use to DRM_SIMPLEDRM=n

From: Randy Dunlap
Date: Mon Jul 19 2021 - 16:28:46 EST


On 7/19/21 1:06 AM, Geert Uytterhoeven wrote:
> Hi Randy,
>
> On Mon, Jul 19, 2021 at 4:34 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>> When DRM_SIMPLEDRM=m, all of FB_CFB_{FILLRECT,COPYAREA,IMAGEBLIT} are =m,
>
> Why does that happen?
> FB_SIMPLE does select FB_CFB_*, so all of the latter should be builtin?
> Do I need my morning coffee? I'm about to fetch it...

Hi Geert,

I have no idea why this happens. It feels like a kconfig bug to me.

>> causing undefined references in fbdev/simplefb.o.
>>
>> By restricting FB_SIMPLEFB to be set only when DRM_SIMPLEDRM is not set,
>> the FB_CFB_* symbols are =y and the build completes without these
>> undefined references.
>>
>> IOW, really "disable simplefb if simpledrm has been selected".
>
> That does make sense, regardless of my question above ;-)
>
>> or1k-linux-ld: drivers/video/fbdev/simplefb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect'
>> or1k-linux-ld: drivers/video/fbdev/simplefb.o:(.rodata+0x30): undefined reference to `cfb_copyarea'
>> or1k-linux-ld: drivers/video/fbdev/simplefb.o:(.rodata+0x34): undefined reference to `cfb_imageblit'
>>
>> Fixes: 11e8f5fd223b ("drm: Add simpledrm driver")
>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>
>> --- linux-next-20210716.orig/drivers/video/fbdev/Kconfig
>> +++ linux-next-20210716/drivers/video/fbdev/Kconfig
>> @@ -2192,7 +2192,7 @@ config FB_HYPERV
>>
>> config FB_SIMPLE
>> bool "Simple framebuffer support"
>> - depends on (FB = y) && !DRM_SIMPLEDRM
>> + depends on (FB = y) && DRM_SIMPLEDRM=n
>> select FB_CFB_FILLRECT
>> select FB_CFB_COPYAREA
>> select FB_CFB_IMAGEBLIT
>
> Gr{oetje,eeting}s,
>
> Geert
>


--
~Randy