2020-04-18 09:14:00

by Yue Haibing

[permalink] [raw]
Subject: [PATCH] ASoC: wm89xx: Fix build error without CONFIG_I2C

sound/soc/codecs/wm8900.o: In function `wm8900_i2c_probe':
wm8900.c:(.text+0xa36): undefined reference to `__devm_regmap_init_i2c'
sound/soc/codecs/wm8900.o: In function `wm8900_modinit':
wm8900.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
sound/soc/codecs/wm8900.o: In function `wm8900_exit':
wm8900.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
sound/soc/codecs/wm8988.o: In function `wm8988_i2c_probe':
wm8988.c:(.text+0x857): undefined reference to `__devm_regmap_init_i2c'
sound/soc/codecs/wm8988.o: In function `wm8988_modinit':
wm8988.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
sound/soc/codecs/wm8988.o: In function `wm8988_exit':
wm8988.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
sound/soc/codecs/wm8995.o: In function `wm8995_i2c_probe':
wm8995.c:(.text+0x1c4f): undefined reference to `__devm_regmap_init_i2c'
sound/soc/codecs/wm8995.o: In function `wm8995_modinit':
wm8995.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
sound/soc/codecs/wm8995.o: In function `wm8995_exit':
wm8995.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'

Add missing I2C dependency to fix this.

Reported-by: Hulk Robot <[email protected]>
Fixes: ea00d95200d02ece ("ASoC: Use imply for SND_SOC_ALL_CODECS")
Signed-off-by: YueHaibing <[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 e6a0c5d05fa5..2d8d0bba0c0a 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -1525,6 +1525,7 @@ config SND_SOC_WM8804_SPI

config SND_SOC_WM8900
tristate
+ depends on I2C

config SND_SOC_WM8903
tristate "Wolfson Microelectronics WM8903 CODEC"
@@ -1576,6 +1577,7 @@ config SND_SOC_WM8985

config SND_SOC_WM8988
tristate
+ depends on I2C

config SND_SOC_WM8990
tristate
@@ -1594,6 +1596,7 @@ config SND_SOC_WM8994

config SND_SOC_WM8995
tristate
+ depends on I2C

config SND_SOC_WM8996
tristate
--
2.17.1



2020-04-20 10:29:19

by Charles Keepax

[permalink] [raw]
Subject: Re: [PATCH] ASoC: wm89xx: Fix build error without CONFIG_I2C

On Sat, Apr 18, 2020 at 05:08:53PM +0800, YueHaibing wrote:
> sound/soc/codecs/wm8900.o: In function `wm8900_i2c_probe':
> wm8900.c:(.text+0xa36): undefined reference to `__devm_regmap_init_i2c'
> sound/soc/codecs/wm8900.o: In function `wm8900_modinit':
> wm8900.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
> sound/soc/codecs/wm8900.o: In function `wm8900_exit':
> wm8900.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
> sound/soc/codecs/wm8988.o: In function `wm8988_i2c_probe':
> wm8988.c:(.text+0x857): undefined reference to `__devm_regmap_init_i2c'
> sound/soc/codecs/wm8988.o: In function `wm8988_modinit':
> wm8988.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
> sound/soc/codecs/wm8988.o: In function `wm8988_exit':
> wm8988.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
> sound/soc/codecs/wm8995.o: In function `wm8995_i2c_probe':
> wm8995.c:(.text+0x1c4f): undefined reference to `__devm_regmap_init_i2c'
> sound/soc/codecs/wm8995.o: In function `wm8995_modinit':
> wm8995.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
> sound/soc/codecs/wm8995.o: In function `wm8995_exit':
> wm8995.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
>
> Add missing I2C dependency to fix this.
>

This doesn't look like the right fix there, all these parts can
be used on SPI so should be usable without I2C build in.

Thanks,
Charles

2020-04-20 12:57:07

by Yue Haibing

[permalink] [raw]
Subject: [PATCH] ASoC: wm89xx: Add missing dependency

sound/soc/codecs/wm8900.o: In function `wm8900_i2c_probe':
wm8900.c:(.text+0xa36): undefined reference to `__devm_regmap_init_i2c'
sound/soc/codecs/wm8900.o: In function `wm8900_modinit':
wm8900.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
sound/soc/codecs/wm8900.o: In function `wm8900_exit':
wm8900.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
sound/soc/codecs/wm8988.o: In function `wm8988_i2c_probe':
wm8988.c:(.text+0x857): undefined reference to `__devm_regmap_init_i2c'
sound/soc/codecs/wm8988.o: In function `wm8988_modinit':
wm8988.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
sound/soc/codecs/wm8988.o: In function `wm8988_exit':
wm8988.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
sound/soc/codecs/wm8995.o: In function `wm8995_i2c_probe':
wm8995.c:(.text+0x1c4f): undefined reference to `__devm_regmap_init_i2c'
sound/soc/codecs/wm8995.o: In function `wm8995_modinit':
wm8995.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
sound/soc/codecs/wm8995.o: In function `wm8995_exit':
wm8995.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'

Add SND_SOC_I2C_AND_SPI dependency to fix this.

Reported-by: Hulk Robot <[email protected]>
Fixes: ea00d95200d02ece ("ASoC: Use imply for SND_SOC_ALL_CODECS")
Signed-off-by: YueHaibing <[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 e6a0c5d05fa5..e60e0b6a689c 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -1525,6 +1525,7 @@ config SND_SOC_WM8804_SPI

config SND_SOC_WM8900
tristate
+ depends on SND_SOC_I2C_AND_SPI

config SND_SOC_WM8903
tristate "Wolfson Microelectronics WM8903 CODEC"
@@ -1576,6 +1577,7 @@ config SND_SOC_WM8985

config SND_SOC_WM8988
tristate
+ depends on SND_SOC_I2C_AND_SPI

config SND_SOC_WM8990
tristate
@@ -1594,6 +1596,7 @@ config SND_SOC_WM8994

config SND_SOC_WM8995
tristate
+ depends on SND_SOC_I2C_AND_SPI

config SND_SOC_WM8996
tristate
--
2.17.1


2020-04-20 14:28:39

by Yue Haibing

[permalink] [raw]
Subject: Re: [PATCH] ASoC: wm89xx: Fix build error without CONFIG_I2C

On 2020/4/20 18:27, Charles Keepax wrote:
> On Sat, Apr 18, 2020 at 05:08:53PM +0800, YueHaibing wrote:
>> sound/soc/codecs/wm8900.o: In function `wm8900_i2c_probe':
>> wm8900.c:(.text+0xa36): undefined reference to `__devm_regmap_init_i2c'
>> sound/soc/codecs/wm8900.o: In function `wm8900_modinit':
>> wm8900.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
>> sound/soc/codecs/wm8900.o: In function `wm8900_exit':
>> wm8900.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
>> sound/soc/codecs/wm8988.o: In function `wm8988_i2c_probe':
>> wm8988.c:(.text+0x857): undefined reference to `__devm_regmap_init_i2c'
>> sound/soc/codecs/wm8988.o: In function `wm8988_modinit':
>> wm8988.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
>> sound/soc/codecs/wm8988.o: In function `wm8988_exit':
>> wm8988.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
>> sound/soc/codecs/wm8995.o: In function `wm8995_i2c_probe':
>> wm8995.c:(.text+0x1c4f): undefined reference to `__devm_regmap_init_i2c'
>> sound/soc/codecs/wm8995.o: In function `wm8995_modinit':
>> wm8995.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
>> sound/soc/codecs/wm8995.o: In function `wm8995_exit':
>> wm8995.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
>>
>> Add missing I2C dependency to fix this.
>>
>
> This doesn't look like the right fix there, all these parts can
> be used on SPI so should be usable without I2C build in.

Sorry, the patch title is wrong, the issue is CONFIG_I2C m but SND_SOC_WM8900 is y.

This should depends on SND_SOC_I2C_AND_SPI like others.

>
> Thanks,
> Charles
>
> .
>

2020-04-20 15:14:22

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] ASoC: wm89xx: Add missing dependency

On Mon, 20 Apr 2020 20:53:43 +0800, YueHaibing wrote:
> sound/soc/codecs/wm8900.o: In function `wm8900_i2c_probe':
> wm8900.c:(.text+0xa36): undefined reference to `__devm_regmap_init_i2c'
> sound/soc/codecs/wm8900.o: In function `wm8900_modinit':
> wm8900.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
> sound/soc/codecs/wm8900.o: In function `wm8900_exit':
> wm8900.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
> sound/soc/codecs/wm8988.o: In function `wm8988_i2c_probe':
> wm8988.c:(.text+0x857): undefined reference to `__devm_regmap_init_i2c'
> sound/soc/codecs/wm8988.o: In function `wm8988_modinit':
> wm8988.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
> sound/soc/codecs/wm8988.o: In function `wm8988_exit':
> wm8988.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
> sound/soc/codecs/wm8995.o: In function `wm8995_i2c_probe':
> wm8995.c:(.text+0x1c4f): undefined reference to `__devm_regmap_init_i2c'
> sound/soc/codecs/wm8995.o: In function `wm8995_modinit':
> wm8995.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
> sound/soc/codecs/wm8995.o: In function `wm8995_exit':
> wm8995.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
>
> [...]

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.7

Thanks!

[1/1] ASoC: wm89xx: Add missing dependency
commit: 9bff3d3024e51122c0c09634056debcd6c7359ec

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

2020-04-20 16:37:13

by Charles Keepax

[permalink] [raw]
Subject: Re: [PATCH] ASoC: wm89xx: Add missing dependency

On Mon, Apr 20, 2020 at 08:53:43PM +0800, YueHaibing wrote:
> sound/soc/codecs/wm8900.o: In function `wm8900_i2c_probe':
> wm8900.c:(.text+0xa36): undefined reference to `__devm_regmap_init_i2c'
> sound/soc/codecs/wm8900.o: In function `wm8900_modinit':
> wm8900.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
> sound/soc/codecs/wm8900.o: In function `wm8900_exit':
> wm8900.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
> sound/soc/codecs/wm8988.o: In function `wm8988_i2c_probe':
> wm8988.c:(.text+0x857): undefined reference to `__devm_regmap_init_i2c'
> sound/soc/codecs/wm8988.o: In function `wm8988_modinit':
> wm8988.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
> sound/soc/codecs/wm8988.o: In function `wm8988_exit':
> wm8988.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
> sound/soc/codecs/wm8995.o: In function `wm8995_i2c_probe':
> wm8995.c:(.text+0x1c4f): undefined reference to `__devm_regmap_init_i2c'
> sound/soc/codecs/wm8995.o: In function `wm8995_modinit':
> wm8995.c:(.init.text+0xb): undefined reference to `i2c_register_driver'
> sound/soc/codecs/wm8995.o: In function `wm8995_exit':
> wm8995.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
>
> Add SND_SOC_I2C_AND_SPI dependency to fix this.
>
> Reported-by: Hulk Robot <[email protected]>
> Fixes: ea00d95200d02ece ("ASoC: Use imply for SND_SOC_ALL_CODECS")
> Signed-off-by: YueHaibing <[email protected]>
> ---

Acked-by: Charles Keepax <[email protected]>

Thanks,
Charles