Re: [PATCH V9 4/5] ASoC: codecs: Aw883xx chip register file, data type file and Kconfig Makefile

From: Martin Povišer
Date: Wed Jan 11 2023 - 03:49:25 EST



> On 11. 1. 2023, at 3:02, wangweidong.a@xxxxxxxxxx wrote:
>
> On 09/01/2023 03:00, kernel test robot wrote:

>> All errors (new ones prefixed by >>):
>
>>>> ld.lld: error: undefined symbol: crc8_populate_lsb
>>>>> referenced by aw883xx_bin_parse.c:1049 (sound/soc/codecs/aw883xx/aw883xx_bin_parse.c:1049)
>>>>> vmlinux.o:(aw883xx_dev_load_acf_check)
>> --
>>>> ld.lld: error: undefined symbol: crc8
>>>>> referenced by aw883xx_bin_parse.c:963 (sound/soc/codecs/aw883xx/aw883xx_bin_parse.c:963)
>>>>> vmlinux.o:(aw883xx_dev_load_acf_check)
>>>>> referenced by aw883xx_bin_parse.c:1022 (sound/soc/codecs/aw883xx/aw883xx_bin_parse.c:1022)
>>>>> vmlinux.o:(aw883xx_dev_load_acf_check)
>>>>> did you mean: crc4
>>>>> defined in: vmlinux.o
>
> This looks like a false positive. crc8_populate_lsb is defined in the lib/crc8.c file.
> I also could not reproduce it with GCC.

Hi,

the issue here would be that it’s possible to select your driver for compilation without
having selected the CRC8 functions, leading to the linkage error.

You can fix that by adding ’select CRC8’ under the Kconfig section of your driver, similarly
to how the SND_SOC_SIGMADSP symbol selects CRC32.

Best regards,
Martin

>
> Best regards,
> Weidong Wang