Re: [PATCH] ASoC: simple-card: fix module load "unknown symbol" issue

Kuninori Morimoto
2016-08-02T01:14:51Z

Hi Kevin

Thank you for your patch

> An ASoC driver using simple-card, when built as a module gets the
> following error at module load time:
>
> [ 23.571873] simple_card_utils: Unknown symbol snd_soc_of_parse_daifmt (err 0)
> [ 23.712726] simple_card_utils: Unknown symbol snd_soc_of_parse_card_name (err 0)
>
> fix this by including simple-card-utils.o symbols in the module build
> its symols are resolved correctly.
>
> Tested on Davinci DA850-EVM using snd_soc_edma, snc_soc_davinci_mcasp,
> with all of ASoC built as modules.
>
> Cc: Sekhar Nori <nsekhar@ti.com>
> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
> ---

Hmm... strange...

simple-card-utils will be used not only simple-card in the future,
thus it should be build separately.

And, snd_soc_of_parse_daifmt() and snd_soc_of_parse_card_name() are
already exported on soc-core.c ?

I tried it as module, but no error for me

...
CHK kernel/config_data.h
LD sound/soc/generic/built-in.o
CC [M] sound/soc/generic/simple-card-utils.o
CC [M] sound/soc/generic/simple-card.o
LD [M] sound/soc/generic/snd-soc-simple-card.o
LD sound/soc/built-in.o
LD sound/built-in.o
...
MODPOST 7 modules
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/Image is ready
CC sound/soc/generic/simple-card-utils.mod.o
CC sound/soc/generic/snd-soc-simple-card.mod.o
GZIP arch/arm/boot/compressed/piggy_data
LD [M] sound/soc/generic/simple-card-utils.ko
LD [M] sound/soc/generic/snd-soc-simple-card.ko
AS arch/arm/boot/compressed/piggy.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready

Best regards
---
Kuninori Morimoto