2020-02-24 11:27:18

by Geert Uytterhoeven

[permalink] [raw]
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 <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
---
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@mail.gmail.com
---
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

--
2.17.1


2020-02-24 13:42:13

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout" to the asoc tree

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 <[email protected]>
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 <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
---
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

--
2.20.1

2020-02-24 16:31:42

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout

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 <[email protected]>
> Signed-off-by: Geert Uytterhoeven <[email protected]>

Acked-by: Randy Dunlap <[email protected]> # 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@mail.gmail.com
> ---
> 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
>
>


--
~Randy

2020-03-03 14:35:05

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout

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

2020-03-03 15:38:58

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout

Hi Günter

On Tue, Mar 3, 2020 at 3:34 PM Guenter Roeck <[email protected]> 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

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2020-03-03 16:16:14

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout

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 <[email protected]> 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

2020-03-04 23:15:17

by Robert Jarzmik

[permalink] [raw]
Subject: Re: [PATCH] ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout

Geert Uytterhoeven <[email protected]> writes:

> Hi Günter
>
> On Tue, Mar 3, 2020 at 3:34 PM Guenter Roeck <[email protected]> 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