Message ID | 20230921060228.29041-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fbdev: sh7760fb: require FB=y to build cleanly | expand |
Hi Randy, On Thu, Sep 21, 2023 at 10:43 PM Randy Dunlap <rdunlap@infradead.org> wrote: > Fix build errors when CONFIG_FB=m and CONFIG_FB_SH7760=y: > > sh2-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_probe': > sh7760fb.c:(.text+0x374): undefined reference to `framebuffer_alloc' > sh2-linux-ld: sh7760fb.c:(.text+0x394): undefined reference to `fb_videomode_to_var' > sh2-linux-ld: sh7760fb.c:(.text+0x3a0): undefined reference to `fb_alloc_cmap' > sh2-linux-ld: sh7760fb.c:(.text+0x3a4): undefined reference to `register_framebuffer' > sh2-linux-ld: sh7760fb.c:(.text+0x3ac): undefined reference to `fb_dealloc_cmap' > sh2-linux-ld: sh7760fb.c:(.text+0x434): undefined reference to `framebuffer_release' > sh2-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_remove': > sh7760fb.c:(.text+0x800): undefined reference to `unregister_framebuffer' > sh2-linux-ld: sh7760fb.c:(.text+0x804): undefined reference to `fb_dealloc_cmap' > sh2-linux-ld: sh7760fb.c:(.text+0x814): undefined reference to `framebuffer_release' > sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0xc): undefined reference to `fb_io_read' > sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x10): undefined reference to `fb_io_write' > sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect' > sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x30): undefined reference to `cfb_copyarea' > sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x34): undefined reference to `cfb_imageblit' > > Fixes: 4a25e41831ee ("video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Thanks for your patch! > --- a/drivers/video/fbdev/Kconfig > +++ b/drivers/video/fbdev/Kconfig > @@ -1762,7 +1762,7 @@ config FB_COBALT > > config FB_SH7760 > bool "SH7760/SH7763/SH7720/SH7721 LCDC support" > - depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ > + depends on FB=y && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ > || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721) > select FB_IOMEM_HELPERS > help Any reason this can't become tristate instead? drivers/video/fbdev/sh7760fb.c uses module_platform_driver(), and already has all needed MODULE_*(). Gr{oetje,eeting}s, Geert
Hi Geert, On 9/22/23 00:23, Geert Uytterhoeven wrote: > Hi Randy, > > On Thu, Sep 21, 2023 at 10:43 PM Randy Dunlap <rdunlap@infradead.org> wrote: >> Fix build errors when CONFIG_FB=m and CONFIG_FB_SH7760=y: >> >> sh2-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_probe': >> sh7760fb.c:(.text+0x374): undefined reference to `framebuffer_alloc' >> sh2-linux-ld: sh7760fb.c:(.text+0x394): undefined reference to `fb_videomode_to_var' >> sh2-linux-ld: sh7760fb.c:(.text+0x3a0): undefined reference to `fb_alloc_cmap' >> sh2-linux-ld: sh7760fb.c:(.text+0x3a4): undefined reference to `register_framebuffer' >> sh2-linux-ld: sh7760fb.c:(.text+0x3ac): undefined reference to `fb_dealloc_cmap' >> sh2-linux-ld: sh7760fb.c:(.text+0x434): undefined reference to `framebuffer_release' >> sh2-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_remove': >> sh7760fb.c:(.text+0x800): undefined reference to `unregister_framebuffer' >> sh2-linux-ld: sh7760fb.c:(.text+0x804): undefined reference to `fb_dealloc_cmap' >> sh2-linux-ld: sh7760fb.c:(.text+0x814): undefined reference to `framebuffer_release' >> sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0xc): undefined reference to `fb_io_read' >> sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x10): undefined reference to `fb_io_write' >> sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect' >> sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x30): undefined reference to `cfb_copyarea' >> sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x34): undefined reference to `cfb_imageblit' >> >> Fixes: 4a25e41831ee ("video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver") >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > > Thanks for your patch! > >> --- a/drivers/video/fbdev/Kconfig >> +++ b/drivers/video/fbdev/Kconfig >> @@ -1762,7 +1762,7 @@ config FB_COBALT >> >> config FB_SH7760 >> bool "SH7760/SH7763/SH7720/SH7721 LCDC support" >> - depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ >> + depends on FB=y && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ >> || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721) >> select FB_IOMEM_HELPERS >> help > > Any reason this can't become tristate instead? > drivers/video/fbdev/sh7760fb.c uses module_platform_driver(), and > already has all needed MODULE_*(). That's what I tried to ask here: https://lore.kernel.org/all/feadd6a5-0f56-4575-9891-3a7d88e69e64@infradead.org/ but nobody replied to that.
diff -- a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -1762,7 +1762,7 @@ config FB_COBALT config FB_SH7760 bool "SH7760/SH7763/SH7720/SH7721 LCDC support" - depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ + depends on FB=y && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721) select FB_IOMEM_HELPERS help
Fix build errors when CONFIG_FB=m and CONFIG_FB_SH7760=y: sh2-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_probe': sh7760fb.c:(.text+0x374): undefined reference to `framebuffer_alloc' sh2-linux-ld: sh7760fb.c:(.text+0x394): undefined reference to `fb_videomode_to_var' sh2-linux-ld: sh7760fb.c:(.text+0x3a0): undefined reference to `fb_alloc_cmap' sh2-linux-ld: sh7760fb.c:(.text+0x3a4): undefined reference to `register_framebuffer' sh2-linux-ld: sh7760fb.c:(.text+0x3ac): undefined reference to `fb_dealloc_cmap' sh2-linux-ld: sh7760fb.c:(.text+0x434): undefined reference to `framebuffer_release' sh2-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_remove': sh7760fb.c:(.text+0x800): undefined reference to `unregister_framebuffer' sh2-linux-ld: sh7760fb.c:(.text+0x804): undefined reference to `fb_dealloc_cmap' sh2-linux-ld: sh7760fb.c:(.text+0x814): undefined reference to `framebuffer_release' sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0xc): undefined reference to `fb_io_read' sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x10): undefined reference to `fb_io_write' sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect' sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x30): undefined reference to `cfb_copyarea' sh2-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x34): undefined reference to `cfb_imageblit' Fixes: 4a25e41831ee ("video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Helge Deller <deller@gmx.de> Cc: linux-fbdev@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: linux-sh@vger.kernel.org --- drivers/video/fbdev/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)