| From 8d389c488f7556fb0e0fda1be588a3fc57a21a44 Mon Sep 17 00:00:00 2001 |
| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Tue, 16 Apr 2019 15:12:23 +0200 |
| Subject: ASoC: imx: fix fiq dependencies |
| |
| [ Upstream commit ea751227c813ab833609afecfeedaf0aa26f327e ] |
| |
| During randconfig builds, I occasionally run into an invalid configuration |
| of the freescale FIQ sound support: |
| |
| WARNING: unmet direct dependencies detected for SND_SOC_IMX_PCM_FIQ |
| Depends on [m]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_IMX_SOC [=m] |
| Selected by [y]: |
| - SND_SOC_FSL_SPDIF [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_IMX_SOC [=m]!=n && (MXC_TZIC [=n] || MXC_AVIC [=y]) |
| |
| sound/soc/fsl/imx-ssi.o: In function `imx_ssi_remove': |
| imx-ssi.c:(.text+0x28): undefined reference to `imx_pcm_fiq_exit' |
| sound/soc/fsl/imx-ssi.o: In function `imx_ssi_probe': |
| imx-ssi.c:(.text+0xa64): undefined reference to `imx_pcm_fiq_init' |
| |
| The Kconfig warning is a result of the symbol being defined inside of |
| the "if SND_IMX_SOC" block, and is otherwise harmless. The link error |
| is more tricky and happens with SND_SOC_IMX_SSI=y, which may or may not |
| imply FIQ support. However, if SND_SOC_FSL_SSI is set to =m at the same |
| time, that selects SND_SOC_IMX_PCM_FIQ as a loadable module dependency, |
| which then causes a link failure from imx-ssi. |
| |
| The solution here is to make SND_SOC_IMX_PCM_FIQ built-in whenever |
| one of its potential users is built-in. |
| |
| Fixes: ff40260f79dc ("ASoC: fsl: refine DMA/FIQ dependencies") |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/soc/fsl/Kconfig | 9 +++++---- |
| 1 file changed, 5 insertions(+), 4 deletions(-) |
| |
| diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig |
| index 7b1d9970be8b3..1f65cf555ebe0 100644 |
| --- a/sound/soc/fsl/Kconfig |
| +++ b/sound/soc/fsl/Kconfig |
| @@ -182,16 +182,17 @@ config SND_MPC52xx_SOC_EFIKA |
| |
| endif # SND_POWERPC_SOC |
| |
| +config SND_SOC_IMX_PCM_FIQ |
| + tristate |
| + default y if SND_SOC_IMX_SSI=y && (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC) |
| + select FIQ |
| + |
| if SND_IMX_SOC |
| |
| config SND_SOC_IMX_SSI |
| tristate |
| select SND_SOC_FSL_UTILS |
| |
| -config SND_SOC_IMX_PCM_FIQ |
| - tristate |
| - select FIQ |
| - |
| comment "SoC Audio support for Freescale i.MX boards:" |
| |
| config SND_MXC_SOC_WM1133_EV1 |
| -- |
| 2.20.1 |
| |