]>
Commit | Line | Data |
---|---|---|
1143c684 SL |
1 | From b2596a8e3abf59670906fe2e87458c2beb10e505 Mon Sep 17 00:00:00 2001 |
2 | From: Arnd Bergmann <arnd@arndb.de> | |
3 | Date: Tue, 16 Apr 2019 15:12:23 +0200 | |
4 | Subject: ASoC: imx: fix fiq dependencies | |
5 | ||
6 | [ Upstream commit ea751227c813ab833609afecfeedaf0aa26f327e ] | |
7 | ||
8 | During randconfig builds, I occasionally run into an invalid configuration | |
9 | of the freescale FIQ sound support: | |
10 | ||
11 | WARNING: unmet direct dependencies detected for SND_SOC_IMX_PCM_FIQ | |
12 | Depends on [m]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_IMX_SOC [=m] | |
13 | Selected by [y]: | |
14 | - SND_SOC_FSL_SPDIF [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_IMX_SOC [=m]!=n && (MXC_TZIC [=n] || MXC_AVIC [=y]) | |
15 | ||
16 | sound/soc/fsl/imx-ssi.o: In function `imx_ssi_remove': | |
17 | imx-ssi.c:(.text+0x28): undefined reference to `imx_pcm_fiq_exit' | |
18 | sound/soc/fsl/imx-ssi.o: In function `imx_ssi_probe': | |
19 | imx-ssi.c:(.text+0xa64): undefined reference to `imx_pcm_fiq_init' | |
20 | ||
21 | The Kconfig warning is a result of the symbol being defined inside of | |
22 | the "if SND_IMX_SOC" block, and is otherwise harmless. The link error | |
23 | is more tricky and happens with SND_SOC_IMX_SSI=y, which may or may not | |
24 | imply FIQ support. However, if SND_SOC_FSL_SSI is set to =m at the same | |
25 | time, that selects SND_SOC_IMX_PCM_FIQ as a loadable module dependency, | |
26 | which then causes a link failure from imx-ssi. | |
27 | ||
28 | The solution here is to make SND_SOC_IMX_PCM_FIQ built-in whenever | |
29 | one of its potential users is built-in. | |
30 | ||
31 | Fixes: ff40260f79dc ("ASoC: fsl: refine DMA/FIQ dependencies") | |
32 | Signed-off-by: Arnd Bergmann <arnd@arndb.de> | |
33 | Signed-off-by: Mark Brown <broonie@kernel.org> | |
34 | Signed-off-by: Sasha Levin <sashal@kernel.org> | |
35 | --- | |
36 | sound/soc/fsl/Kconfig | 9 +++++---- | |
37 | 1 file changed, 5 insertions(+), 4 deletions(-) | |
38 | ||
39 | diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig | |
40 | index 3066e068aae5c..d420995ed45bf 100644 | |
41 | --- a/sound/soc/fsl/Kconfig | |
42 | +++ b/sound/soc/fsl/Kconfig | |
43 | @@ -171,16 +171,17 @@ config SND_MPC52xx_SOC_EFIKA | |
44 | ||
45 | endif # SND_POWERPC_SOC | |
46 | ||
47 | +config SND_SOC_IMX_PCM_FIQ | |
48 | + tristate | |
49 | + default y if SND_SOC_IMX_SSI=y && (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC) | |
50 | + select FIQ | |
51 | + | |
52 | if SND_IMX_SOC | |
53 | ||
54 | config SND_SOC_IMX_SSI | |
55 | tristate | |
56 | select SND_SOC_FSL_UTILS | |
57 | ||
58 | -config SND_SOC_IMX_PCM_FIQ | |
59 | - tristate | |
60 | - select FIQ | |
61 | - | |
62 | comment "SoC Audio support for Freescale i.MX boards:" | |
63 | ||
64 | config SND_MXC_SOC_WM1133_EV1 | |
65 | -- | |
66 | 2.20.1 | |
67 |