Commit 25b8d31 (ASoC: fsl: fix multiple definition of init_module) fixed a build error due to multiple symbol definitions when building as a module. However, it causes the build to break when the driver is builtin because the imx-pcm.o object is included multiple times. Solve the issue by adding imx-pcm.o to each of the modules that require it, but only add it to the kernel once when one or both drivers are builtin.
Signed-off-by: Thierry Reding thierry.reding@avionic-design.de --- sound/soc/fsl/Makefile | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/sound/soc/fsl/Makefile b/sound/soc/fsl/Makefile index ec14579..8446d49 100644 --- a/sound/soc/fsl/Makefile +++ b/sound/soc/fsl/Makefile @@ -30,21 +30,24 @@ obj-$(CONFIG_SND_MPC52xx_SOC_EFIKA) += efika-audio-fabric.o # i.MX Platform Support snd-soc-imx-ssi-objs := imx-ssi.o snd-soc-imx-audmux-objs := imx-audmux.o -snd-soc-imx-pcm-objs := imx-pcm.o -ifneq ($(CONFIG_SND_SOC_IMX_PCM_FIQ),) - snd-soc-imx-pcm-objs += imx-pcm-fiq.o -endif -ifneq ($(CONFIG_SND_SOC_IMX_PCM_DMA),) - snd-soc-imx-pcm-objs += imx-pcm-dma.o -endif
obj-$(CONFIG_SND_SOC_IMX_SSI) += snd-soc-imx-ssi.o obj-$(CONFIG_SND_SOC_IMX_AUDMUX) += snd-soc-imx-audmux.o
obj-$(CONFIG_SND_SOC_IMX_PCM_FIQ) += snd-soc-imx-pcm-fiq.o -snd-soc-imx-pcm-fiq-y := imx-pcm-fiq.o imx-pcm.o +snd-soc-imx-pcm-fiq-y := imx-pcm-fiq.o +ifeq ($(CONFIG_SND_SOC_IMX_PCM_FIQ),m) +snd-soc-imx-pcm-fiq-y += imx-pcm.o +else +obj-$(CONFIG_SND_SOC_IMX_PCM_FIQ) += imx-pcm.o +endif obj-$(CONFIG_SND_SOC_IMX_PCM_DMA) += snd-soc-imx-pcm-dma.o -snd-soc-imx-pcm-dma-y := imx-pcm-dma.o imx-pcm.o +snd-soc-imx-pcm-dma-y := imx-pcm-dma.o +ifeq ($(CONFIG_SND_SOC_IMX_PCM_DMA),m) +snd-soc-imx-pcm-dma-y := imx-pcm.o +else +obj-$(CONFIG_SND_SOC_IMX_PCM_DMA) += imx-pcm.o +endif
# i.MX Machine Support snd-soc-eukrea-tlv320-objs := eukrea-tlv320.o