On 11. 1. 2023, at 3:02, wangweidong.a@awinic.com 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