From mboxrd@z Thu Jan 1 00:00:00 1970 From: arnd@arndb.de (Arnd Bergmann) Date: Mon, 28 Apr 2014 23:12:14 +0200 Subject: [PATCH] ASoC: fsl: select SND_SOC_IMX_PCM_DMA where needed In-Reply-To: <1398717341.630093136@f319.i.mail.ru> References: <6606961.lAGLvkNsEj@wuerfel> <7785150.X1QaggmPtm@wuerfel> <1398717341.630093136@f319.i.mail.ru> Message-ID: <6285923.UQqcZVikjI@wuerfel> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tuesday 29 April 2014 00:35:41 Alexander Shiyan wrote: > Mon, 28 Apr 2014 21:52:16 +0200 ?? Arnd Bergmann : > > On Monday 28 April 2014 22:46:10 Alexander Shiyan wrote: > > > Mon, 28 Apr 2014 16:46:30 +0200 ?? Arnd Bergmann : > > > > Since commit 204dec93eaa "ASoC: fsl: Allow to select individual common > > > > options", it is possible to enable SND_SOC_FSL_SSI and SND_SOC_FSL_SPDIF > > > > manually. However, these two options are for drivers that both > > > > require the imx-pcm-dma framework and result in a link error if that > > > > is not provided. > > > > > > > > This changes Kconfig to automatically select SND_SOC_IMX_PCM_DMA > > > > to avoid the problem, as we do for other drivers that need the same > > > > framework. > > > > > > > > Signed-off-by: Arnd Bergmann > > > > > > Can you give an exact error? > > > > > > sound/built-in.o: In function `fsl_ssi_probe': > > :(.text+0x51fb8): undefined reference to `imx_pcm_dma_init' > > sound/built-in.o: In function `fsl_spdif_probe': > > :(.text+0x52e20): undefined reference to `imx_pcm_dma_init' > > This call is defined in imx-pcm.h as: > #if IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_DMA) > int imx_pcm_dma_init(struct platform_device *pdev); > #else > static inline int imx_pcm_dma_init(struct platform_device *pdev) > { > return -ENODEV; > } > #endif > > So, I don't understand why this error happen, as well as I can not > reproduce this... It's probably CONFIG_SND_SOC_IMX_PCM_DMA=m and CONFIG_SND_SOC_FSL_SSI=y then. What is the intended behavior in this case? Should CONFIG_SND_SOC_FSL_SSI be forced to be a module as well? Arnd