Skip to contentSkip to conversation

sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:undefined reference to `fb_io_read'

DISCUSSION kernel test robot 3 participants 4 messages Sep 12, 2023 – Sep 25, 2023

Subsystems (2)
lore
Share & tools
lore

kernel test robot

author build bot
#0 lore raw

Hi Thomas,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3669558bdf354cd352be955ef2764cde6a9bf5ec
commit: 5f86367006c6a0662faaf36f753f437afe42fb63 fbdev/sh7760fb: Use fbdev I/O helpers
date:   6 weeks ago
config: sh-randconfig-r012-20230913 (https://download.01.org/0day-ci/archive/20230913/[email protected]/config)
compiler: sh4-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230913/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

sh4-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_probe':
sh7760fb.c:(.text+0x374): undefined reference to `framebuffer_alloc'
sh4-linux-ld: sh7760fb.c:(.text+0x394): undefined reference to `fb_videomode_to_var'
sh4-linux-ld: sh7760fb.c:(.text+0x39c): undefined reference to `fb_alloc_cmap'
sh4-linux-ld: sh7760fb.c:(.text+0x3a4): undefined reference to `register_framebuffer'
sh4-linux-ld: sh7760fb.c:(.text+0x3ac): undefined reference to `fb_dealloc_cmap'
sh4-linux-ld: sh7760fb.c:(.text+0x434): undefined reference to `framebuffer_release'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_remove':
sh7760fb.c:(.text+0x800): undefined reference to `unregister_framebuffer'
sh4-linux-ld: sh7760fb.c:(.text+0x804): undefined reference to `fb_dealloc_cmap'
sh4-linux-ld: sh7760fb.c:(.text+0x814): undefined reference to `framebuffer_release'

>> sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0xc): undefined reference to `fb_io_read'
>> sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x10): undefined reference to `fb_io_write'

sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x30): undefined reference to `cfb_copyarea'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x34): undefined reference to `cfb_imageblit'

Signature · 2 lines
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
#1 lore raw
Quoted 30 lines · kernel test robot

Hi Thomas,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3669558bdf354cd352be955ef2764cde6a9bf5ec
commit: 5f86367006c6a0662faaf36f753f437afe42fb63 fbdev/sh7760fb: Use fbdev I/O helpers
date:   6 weeks ago
config: sh-randconfig-r012-20230913 (https://download.01.org/0day-ci/archive/20230913/[email protected]/config)
compiler: sh4-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230913/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   sh4-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_probe':
   sh7760fb.c:(.text+0x374): undefined reference to `framebuffer_alloc'
   sh4-linux-ld: sh7760fb.c:(.text+0x394): undefined reference to `fb_videomode_to_var'
   sh4-linux-ld: sh7760fb.c:(.text+0x39c): undefined reference to `fb_alloc_cmap'
   sh4-linux-ld: sh7760fb.c:(.text+0x3a4): undefined reference to `register_framebuffer'
   sh4-linux-ld: sh7760fb.c:(.text+0x3ac): undefined reference to `fb_dealloc_cmap'
   sh4-linux-ld: sh7760fb.c:(.text+0x434): undefined reference to `framebuffer_release'
   sh4-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_remove':
   sh7760fb.c:(.text+0x800): undefined reference to `unregister_framebuffer'
   sh4-linux-ld: sh7760fb.c:(.text+0x804): undefined reference to `fb_dealloc_cmap'
   sh4-linux-ld: sh7760fb.c:(.text+0x814): undefined reference to `framebuffer_release'
Quoted 5 lines
Quoted 2 lines
Quoted 2 lines

sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0xc): undefined reference to `fb_io_read'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x10): undefined reference to `fb_io_write'

sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x30): undefined reference to `cfb_copyarea'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x34): undefined reference to `cfb_imageblit'

The problem is CONFIG_FB=m and CONFIG_FB_SH7760=y.

This can be fixed by this simple change ... if it's correct.

or this Kconfig entry can be made into a tristate, but that may not help with booting a system.

~~~

drivers/video/fbdev/Kconfig +1 -1
diff -- 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
Signature · 1 line
~Randy
#2 lore raw

Hi Randy,

Quoted 35 lines · Randy Dunlap
Quoted 28 lines · kernel test robot

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3669558bdf354cd352be955ef2764cde6a9bf5ec
commit: 5f86367006c6a0662faaf36f753f437afe42fb63 fbdev/sh7760fb: Use fbdev I/O helpers
date:   6 weeks ago
config: sh-randconfig-r012-20230913 (https://download.01.org/0day-ci/archive/20230913/[email protected]/config)
compiler: sh4-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230913/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   sh4-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_probe':
   sh7760fb.c:(.text+0x374): undefined reference to `framebuffer_alloc'
   sh4-linux-ld: sh7760fb.c:(.text+0x394): undefined reference to `fb_videomode_to_var'
   sh4-linux-ld: sh7760fb.c:(.text+0x39c): undefined reference to `fb_alloc_cmap'
   sh4-linux-ld: sh7760fb.c:(.text+0x3a4): undefined reference to `register_framebuffer'
   sh4-linux-ld: sh7760fb.c:(.text+0x3ac): undefined reference to `fb_dealloc_cmap'
   sh4-linux-ld: sh7760fb.c:(.text+0x434): undefined reference to `framebuffer_release'
   sh4-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_remove':
   sh7760fb.c:(.text+0x800): undefined reference to `unregister_framebuffer'
   sh4-linux-ld: sh7760fb.c:(.text+0x804): undefined reference to `fb_dealloc_cmap'
   sh4-linux-ld: sh7760fb.c:(.text+0x814): undefined reference to `framebuffer_release'
Quoted 5 lines
Quoted 2 lines
Quoted 2 lines

sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0xc): undefined reference to `fb_io_read'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x10): undefined reference to `fb_io_write'

sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x30): undefined reference to `cfb_copyarea'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x34): undefined reference to `cfb_imageblit'

Quoted 6 lines

The problem is CONFIG_FB=m and CONFIG_FB_SH7760=y.

This can be fixed by this simple change ... if it's correct.

or this Kconfig entry can be made into a tristate, but that may not help with booting a system.

What kind of problem do you foresee? Users could still configure it builtin when needed.

I see no reason to restrict this to builtin. The driver already has all MODULE_*() boilerplate.

drivers/video/fbdev/Kconfig config FB_COBALT · line 1768

Quoted 11 lines
drivers/video/fbdev/Kconfig +1 -1
@@ -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

Gr{oetje,eeting}s,

Geert

Signature · 5 lines
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
#3 lore raw
Quoted 40 lines · Geert Uytterhoeven

Hi Randy,

Quoted 37 lines · Randy Dunlap
Quoted 28 lines · kernel test robot

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3669558bdf354cd352be955ef2764cde6a9bf5ec
commit: 5f86367006c6a0662faaf36f753f437afe42fb63 fbdev/sh7760fb: Use fbdev I/O helpers
date:   6 weeks ago
config: sh-randconfig-r012-20230913 (https://download.01.org/0day-ci/archive/20230913/[email protected]/config)
compiler: sh4-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230913/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   sh4-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_probe':
   sh7760fb.c:(.text+0x374): undefined reference to `framebuffer_alloc'
   sh4-linux-ld: sh7760fb.c:(.text+0x394): undefined reference to `fb_videomode_to_var'
   sh4-linux-ld: sh7760fb.c:(.text+0x39c): undefined reference to `fb_alloc_cmap'
   sh4-linux-ld: sh7760fb.c:(.text+0x3a4): undefined reference to `register_framebuffer'
   sh4-linux-ld: sh7760fb.c:(.text+0x3ac): undefined reference to `fb_dealloc_cmap'
   sh4-linux-ld: sh7760fb.c:(.text+0x434): undefined reference to `framebuffer_release'
   sh4-linux-ld: drivers/video/fbdev/sh7760fb.o: in function `sh7760fb_remove':
   sh7760fb.c:(.text+0x800): undefined reference to `unregister_framebuffer'
   sh4-linux-ld: sh7760fb.c:(.text+0x804): undefined reference to `fb_dealloc_cmap'
   sh4-linux-ld: sh7760fb.c:(.text+0x814): undefined reference to `framebuffer_release'
Quoted 5 lines
Quoted 2 lines
Quoted 2 lines

sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0xc): undefined reference to `fb_io_read'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x10): undefined reference to `fb_io_write'

sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x30): undefined reference to `cfb_copyarea'
sh4-linux-ld: drivers/video/fbdev/sh7760fb.o:(.rodata+0x34): undefined reference to `cfb_imageblit'

The problem is CONFIG_FB=m and CONFIG_FB_SH7760=y.

Quoted 7 lines
Quoted 4 lines

This can be fixed by this simple change ... if it's correct.

or this Kconfig entry can be made into a tristate, but that may not help with booting a system.

What kind of problem do you foresee? Users could still configure it builtin when needed.

I was hoping that someone who is familiar with this particular h/w could respond, but I agree with you: I don't know of any reason to restrict this driver to builtin only.

Quoted 19 lines

I see no reason to restrict this to builtin. The driver already has all MODULE_*() boilerplate.

drivers/video/fbdev/Kconfig config FB_COBALT · line 1768

Quoted 11 lines
drivers/video/fbdev/Kconfig +1 -1
@@ -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

Gr{oetje,eeting}s,

Geert

Signature · 1 line
~Randy