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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 9/25/23 00:32, Geert Uytterhoeven wrote:
> Hi Randy,
> 
> On Wed, Sep 13, 2023 at 7:13 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>> On 9/12/23 15:42, kernel test robot wrote:
>>> 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/202309130632.LS04CPWu-lkp@xxxxxxxxx/config)
>>> compiler: sh4-linux-gcc (GCC) 13.2.0
>>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230913/202309130632.LS04CPWu-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx>
>>> | Closes: https://lore.kernel.org/oe-kbuild-all/202309130632.LS04CPWu-lkp@xxxxxxxxx/
>>>
>>> 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'
>>
>> 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 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.

> I see no reason to restrict this to builtin.
> The driver already has all MODULE_*() boilerplate.
> 
>> --- 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
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 

-- 
~Randy



[Index of Archives]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Tourism]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux