Message ID | 20210719023327.17039-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fbdev: simplefb: limit its use to DRM_SIMPLEDRM=n | expand |
Hi Randy, On Mon, Jul 19, 2021 at 4:34 AM Randy Dunlap <rdunlap@infradead.org> 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... > 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@infradead.org> > --- 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
On 7/19/21 1:06 AM, Geert Uytterhoeven wrote: > Hi Randy, > > On Mon, Jul 19, 2021 at 4:34 AM Randy Dunlap <rdunlap@infradead.org> 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@infradead.org> > >> --- 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 >
--- 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
When DRM_SIMPLEDRM=m, all of FB_CFB_{FILLRECT,COPYAREA,IMAGEBLIT} are =m, 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". 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@infradead.org> Reported-by: kernel test robot <lkp@intel.com> Cc: Hans de Goede <hdegoede@redhat.com> Cc: linux-fbdev@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: Thomas Zimmermann <tzimmermann@suse.de> --- drivers/video/fbdev/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)