[PATCH] ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout
On i386 randconfig:
sound/soc/codecs/wm9705.o: In function `wm9705_soc_resume': wm9705.c:(.text+0x128): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9712.o: In function `wm9712_soc_resume': wm9712.c:(.text+0x2d1): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9713.o: In function `wm9713_soc_resume': wm9713.c:(.text+0x820): undefined reference to `snd_ac97_reset'
Fix this by adding the missing dependencies on SND_SOC_AC97_BUS.
Reported-by: Randy Dunlap rdunlap@infradead.org Signed-off-by: Geert Uytterhoeven geert@linux-m68k.org --- Before commit ea00d95200d02ece ("ASoC: Use imply for SND_SOC_ALL_CODECS"), SND_SOC_ALL_CODECS used:
select SND_SOC_WM9705 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW) select SND_SOC_WM9712 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW) select SND_SOC_WM9713 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
but SND_SOC_AC97_BUS_NEW never existed in upstream. Should there be another dependency>
See also "non-existent SND_SOC_AC97_BUS_NEW (was: Re: [PATCH v9] ASoC: pxa: switch to new ac97 bus support)" http://lore.kernel.org/r/CAMuHMdU3uxfBwKd8SkOtZSDV5Ai3CKc3CWRhDy0Cz94T1Hn0iA... --- sound/soc/codecs/Kconfig | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 9e9d54e4576ce5ba..a7e89567edbe8b47 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -1610,16 +1610,19 @@ config SND_SOC_WM9090
config SND_SOC_WM9705 tristate + depends on SND_SOC_AC97_BUS select REGMAP_AC97 select AC97_BUS_COMPAT if AC97_BUS_NEW
config SND_SOC_WM9712 tristate + depends on SND_SOC_AC97_BUS select REGMAP_AC97 select AC97_BUS_COMPAT if AC97_BUS_NEW
config SND_SOC_WM9713 tristate + depends on SND_SOC_AC97_BUS select REGMAP_AC97 select AC97_BUS_COMPAT if AC97_BUS_NEW
The patch
ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
From 5a309875787db47d69610e45f00a727ef9e62aa0 Mon Sep 17 00:00:00 2001
From: Geert Uytterhoeven geert@linux-m68k.org Date: Mon, 24 Feb 2020 12:25:37 +0100 Subject: [PATCH] ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout
On i386 randconfig:
sound/soc/codecs/wm9705.o: In function `wm9705_soc_resume': wm9705.c:(.text+0x128): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9712.o: In function `wm9712_soc_resume': wm9712.c:(.text+0x2d1): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9713.o: In function `wm9713_soc_resume': wm9713.c:(.text+0x820): undefined reference to `snd_ac97_reset'
Fix this by adding the missing dependencies on SND_SOC_AC97_BUS.
Reported-by: Randy Dunlap rdunlap@infradead.org Signed-off-by: Geert Uytterhoeven geert@linux-m68k.org Link: https://lore.kernel.org/r/20200224112537.14483-1-geert@linux-m68k.org Signed-off-by: Mark Brown broonie@kernel.org --- sound/soc/codecs/Kconfig | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 9e9d54e4576c..a7e89567edbe 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -1610,16 +1610,19 @@ config SND_SOC_WM9090
config SND_SOC_WM9705 tristate + depends on SND_SOC_AC97_BUS select REGMAP_AC97 select AC97_BUS_COMPAT if AC97_BUS_NEW
config SND_SOC_WM9712 tristate + depends on SND_SOC_AC97_BUS select REGMAP_AC97 select AC97_BUS_COMPAT if AC97_BUS_NEW
config SND_SOC_WM9713 tristate + depends on SND_SOC_AC97_BUS select REGMAP_AC97 select AC97_BUS_COMPAT if AC97_BUS_NEW
On 2/24/20 3:25 AM, Geert Uytterhoeven wrote:
On i386 randconfig:
sound/soc/codecs/wm9705.o: In function `wm9705_soc_resume': wm9705.c:(.text+0x128): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9712.o: In function `wm9712_soc_resume': wm9712.c:(.text+0x2d1): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9713.o: In function `wm9713_soc_resume': wm9713.c:(.text+0x820): undefined reference to `snd_ac97_reset'
Fix this by adding the missing dependencies on SND_SOC_AC97_BUS.
Reported-by: Randy Dunlap rdunlap@infradead.org Signed-off-by: Geert Uytterhoeven geert@linux-m68k.org
Acked-by: Randy Dunlap rdunlap@infradead.org # build-tested
Thanks.
Before commit ea00d95200d02ece ("ASoC: Use imply for SND_SOC_ALL_CODECS"), SND_SOC_ALL_CODECS used:
select SND_SOC_WM9705 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW) select SND_SOC_WM9712 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW) select SND_SOC_WM9713 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
but SND_SOC_AC97_BUS_NEW never existed in upstream. Should there be another dependency>
See also "non-existent SND_SOC_AC97_BUS_NEW (was: Re: [PATCH v9] ASoC: pxa: switch to new ac97 bus support)" http://lore.kernel.org/r/CAMuHMdU3uxfBwKd8SkOtZSDV5Ai3CKc3CWRhDy0Cz94T1Hn0iA...
sound/soc/codecs/Kconfig | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 9e9d54e4576ce5ba..a7e89567edbe8b47 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -1610,16 +1610,19 @@ config SND_SOC_WM9090
config SND_SOC_WM9705 tristate
- depends on SND_SOC_AC97_BUS select REGMAP_AC97 select AC97_BUS_COMPAT if AC97_BUS_NEW
config SND_SOC_WM9712 tristate
- depends on SND_SOC_AC97_BUS select REGMAP_AC97 select AC97_BUS_COMPAT if AC97_BUS_NEW
config SND_SOC_WM9713 tristate
- depends on SND_SOC_AC97_BUS select REGMAP_AC97 select AC97_BUS_COMPAT if AC97_BUS_NEW
On Mon, Feb 24, 2020 at 12:25:37PM +0100, Geert Uytterhoeven wrote:
On i386 randconfig:
sound/soc/codecs/wm9705.o: In function `wm9705_soc_resume': wm9705.c:(.text+0x128): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9712.o: In function `wm9712_soc_resume': wm9712.c:(.text+0x2d1): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9713.o: In function `wm9713_soc_resume': wm9713.c:(.text+0x820): undefined reference to `snd_ac97_reset'
Fix this by adding the missing dependencies on SND_SOC_AC97_BUS.
With this patch applied, arm:pxa_defconfig reports a variety of unmet SND_SOC dependencies, and it fails to build.
ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9713.ko] undefined! ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9712.ko] undefined! ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9705.ko] undefined!
Reverting this patch fixes the problem.
Guenter
Hi Günter
On Tue, Mar 3, 2020 at 3:34 PM Guenter Roeck linux@roeck-us.net wrote:
On Mon, Feb 24, 2020 at 12:25:37PM +0100, Geert Uytterhoeven wrote:
On i386 randconfig:
sound/soc/codecs/wm9705.o: In function `wm9705_soc_resume': wm9705.c:(.text+0x128): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9712.o: In function `wm9712_soc_resume': wm9712.c:(.text+0x2d1): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9713.o: In function `wm9713_soc_resume': wm9713.c:(.text+0x820): undefined reference to `snd_ac97_reset'
Fix this by adding the missing dependencies on SND_SOC_AC97_BUS.
With this patch applied, arm:pxa_defconfig reports a variety of unmet SND_SOC dependencies, and it fails to build.
ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9713.ko] undefined! ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9712.ko] undefined! ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9705.ko] undefined!
Reverting this patch fixes the problem.
Should SND_PXA2XX_SOC_AC97 in sound/soc/pxa/Kconfig select SND_SOC_AC97_BUS instead of SND_SOC_AC97_BUS_NEW? The latter does not exist.
Gr{oetje,eeting}s,
Geert
On Tue, Mar 03, 2020 at 03:56:25PM +0100, Geert Uytterhoeven wrote:
Hi Günter
On Tue, Mar 3, 2020 at 3:34 PM Guenter Roeck linux@roeck-us.net wrote:
On Mon, Feb 24, 2020 at 12:25:37PM +0100, Geert Uytterhoeven wrote:
On i386 randconfig:
sound/soc/codecs/wm9705.o: In function `wm9705_soc_resume': wm9705.c:(.text+0x128): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9712.o: In function `wm9712_soc_resume': wm9712.c:(.text+0x2d1): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9713.o: In function `wm9713_soc_resume': wm9713.c:(.text+0x820): undefined reference to `snd_ac97_reset'
Fix this by adding the missing dependencies on SND_SOC_AC97_BUS.
With this patch applied, arm:pxa_defconfig reports a variety of unmet SND_SOC dependencies, and it fails to build.
ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9713.ko] undefined! ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9712.ko] undefined! ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9705.ko] undefined!
Reverting this patch fixes the problem.
Should SND_PXA2XX_SOC_AC97 in sound/soc/pxa/Kconfig select SND_SOC_AC97_BUS instead of SND_SOC_AC97_BUS_NEW? The latter does not exist.
Doing that results in:
sound/soc/pxa/Kconfig:24:error: recursive dependency detected! sound/soc/pxa/Kconfig:24: symbol SND_PXA2XX_SOC_AC97 is selected by SND_PXA2XX_SOC_TOSA sound/soc/pxa/Kconfig:79: symbol SND_PXA2XX_SOC_TOSA depends on AC97_BUS sound/Kconfig:109: symbol AC97_BUS is selected by SND_SOC_AC97_BUS sound/soc/Kconfig:26: symbol SND_SOC_AC97_BUS is selected by SND_PXA2XX_SOC_AC97
Guenter
Geert Uytterhoeven geert@linux-m68k.org writes:
Hi Günter
On Tue, Mar 3, 2020 at 3:34 PM Guenter Roeck linux@roeck-us.net wrote:
On Mon, Feb 24, 2020 at 12:25:37PM +0100, Geert Uytterhoeven wrote:
On i386 randconfig:
sound/soc/codecs/wm9705.o: In function `wm9705_soc_resume': wm9705.c:(.text+0x128): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9712.o: In function `wm9712_soc_resume': wm9712.c:(.text+0x2d1): undefined reference to `snd_ac97_reset' sound/soc/codecs/wm9713.o: In function `wm9713_soc_resume': wm9713.c:(.text+0x820): undefined reference to `snd_ac97_reset'
Fix this by adding the missing dependencies on SND_SOC_AC97_BUS.
With this patch applied, arm:pxa_defconfig reports a variety of unmet SND_SOC dependencies, and it fails to build.
ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9713.ko] undefined! ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9712.ko] undefined! ERROR: "snd_ac97_reset" [sound/soc/codecs/snd-soc-wm9705.ko] undefined!
Reverting this patch fixes the problem.
Should SND_PXA2XX_SOC_AC97 in sound/soc/pxa/Kconfig select SND_SOC_AC97_BUS instead of SND_SOC_AC97_BUS_NEW? The latter does not exist.
Hi Geert,
The answer is no, PXA is now specifically ported to work with the new AC97 bus implementation, ie. AC97_BUS_NEW=y as in sound/ac97/.
The 2 implementations of AC97 bus, ie. CONFIG_AC97_BUS and CONFIG_AC97_BUS_NEW are exclusive, they cannot coexist in the same kernel AFAIR.
Sorry for the late reply on this thread, but I moved house lately and I'm quite busy, so my answers are delayed.
As a side note, I've seen somewhere in the patches this : SND_SOC_WM971{2,3} depends on SND_SOC_AC97_BUS. This looks wrong to me, as it implies that a wolfson wm97xx sound driver can only exist with CONFIG_AC97_BUS=y, which is false, because it can exist with CONFIG_AC97_BUS_NEW=y.
I also saw someone saying the CONFIG_SND_SOC_AC97_BUS_NEW didn't exist; this is true, most likely because I forgot it when I created the new AC97 bus. I'd think the natural fix would be to add CONFIG_SND_SOC_AC97_BUS_NEW just after his twin definition in sound/soc/Kconfig, but I might be wrong ...
Cheers.
-- Robert
participants (5)
-
Geert Uytterhoeven
-
Guenter Roeck
-
Mark Brown
-
Randy Dunlap
-
Robert Jarzmik