2023-07-23 22:05:37

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH v2] um/drivers: Kconfig: fix hostaudio build errors

Use "select"s to ensure that the required kconfig symbols are set
as expected.

This fixes build errors when CONFIG_SOUND is not set.

ld: arch/um/drivers/hostaudio_kern.o: in function `hostaudio_cleanup_module':
hostaudio_kern.c:(.exit.text+0xa): undefined reference to `unregister_sound_mixer'
ld: hostaudio_kern.c:(.exit.text+0x15): undefined reference to `unregister_sound_dsp'
ld: arch/um/drivers/hostaudio_kern.o: in function `hostaudio_init_module':
hostaudio_kern.c:(.init.text+0x19): undefined reference to `register_sound_dsp'
ld: hostaudio_kern.c:(.init.text+0x31): undefined reference to `register_sound_mixer'
ld: hostaudio_kern.c:(.init.text+0x49): undefined reference to `unregister_sound_dsp'

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Fixes: d886e87cb82b ("sound: make OSS sound core optional")
Signed-off-by: Randy Dunlap <[email protected]>
Reported-by: kernel test robot <[email protected]>
Link: lore.kernel.org/r/[email protected]
Cc: Richard Weinberger <[email protected]>
Cc: Anton Ivanov <[email protected]>
Cc: Johannes Berg <[email protected]>
Cc: [email protected]
Cc: Tejun Heo <[email protected]>
Cc: Takashi Iwai <[email protected]>
Cc: Jaroslav Kysela <[email protected]>
Cc: Masahiro Yamada <[email protected]>
Cc: Nathan Chancellor <[email protected]>
Cc: Nick Desaulniers <[email protected]>
Cc: Nicolas Schier <[email protected]>
Cc: [email protected]
---
v2: don't delete the HOSTAUDIO Kconfig entry (Masahiro)

arch/um/drivers/Kconfig | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff -- a/arch/um/drivers/Kconfig b/arch/um/drivers/Kconfig
--- a/arch/um/drivers/Kconfig
+++ b/arch/um/drivers/Kconfig
@@ -111,20 +111,14 @@ config SSL_CHAN

config UML_SOUND
tristate "Sound support"
+ select SOUND
+ select SOUND_OSS_CORE
help
This option enables UML sound support. If enabled, it will pull in
soundcore and the UML hostaudio relay, which acts as a intermediary
between the host's dsp and mixer devices and the UML sound system.
It is safe to say 'Y' here.

-config SOUND
- tristate
- default UML_SOUND
-
-config SOUND_OSS_CORE
- bool
- default UML_SOUND
-
config HOSTAUDIO
tristate
default UML_SOUND


2023-07-25 10:53:12

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH v2] um/drivers: Kconfig: fix hostaudio build errors

On Sun, 23 Jul 2023 23:57:56 +0200,
Randy Dunlap wrote:
>
> Use "select"s to ensure that the required kconfig symbols are set
> as expected.
>
> This fixes build errors when CONFIG_SOUND is not set.
>
> ld: arch/um/drivers/hostaudio_kern.o: in function `hostaudio_cleanup_module':
> hostaudio_kern.c:(.exit.text+0xa): undefined reference to `unregister_sound_mixer'
> ld: hostaudio_kern.c:(.exit.text+0x15): undefined reference to `unregister_sound_dsp'
> ld: arch/um/drivers/hostaudio_kern.o: in function `hostaudio_init_module':
> hostaudio_kern.c:(.init.text+0x19): undefined reference to `register_sound_dsp'
> ld: hostaudio_kern.c:(.init.text+0x31): undefined reference to `register_sound_mixer'
> ld: hostaudio_kern.c:(.init.text+0x49): undefined reference to `unregister_sound_dsp'
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Fixes: d886e87cb82b ("sound: make OSS sound core optional")
> Signed-off-by: Randy Dunlap <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Link: lore.kernel.org/r/[email protected]
> Cc: Richard Weinberger <[email protected]>
> Cc: Anton Ivanov <[email protected]>
> Cc: Johannes Berg <[email protected]>
> Cc: [email protected]
> Cc: Tejun Heo <[email protected]>
> Cc: Takashi Iwai <[email protected]>
> Cc: Jaroslav Kysela <[email protected]>
> Cc: Masahiro Yamada <[email protected]>
> Cc: Nathan Chancellor <[email protected]>
> Cc: Nick Desaulniers <[email protected]>
> Cc: Nicolas Schier <[email protected]>
> Cc: [email protected]
> ---
> v2: don't delete the HOSTAUDIO Kconfig entry (Masahiro)
>
> arch/um/drivers/Kconfig | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff -- a/arch/um/drivers/Kconfig b/arch/um/drivers/Kconfig
> --- a/arch/um/drivers/Kconfig
> +++ b/arch/um/drivers/Kconfig
> @@ -111,20 +111,14 @@ config SSL_CHAN
>
> config UML_SOUND
> tristate "Sound support"
> + select SOUND
> + select SOUND_OSS_CORE
> help
> This option enables UML sound support. If enabled, it will pull in
> soundcore and the UML hostaudio relay, which acts as a intermediary
> between the host's dsp and mixer devices and the UML sound system.
> It is safe to say 'Y' here.
>
> -config SOUND
> - tristate
> - default UML_SOUND
> -
> -config SOUND_OSS_CORE
> - bool
> - default UML_SOUND
> -
> config HOSTAUDIO
> tristate
> default UML_SOUND

And now essentially CONFIG_HOSTAUDIO is equal with CONFIG_UML_SOUND.
Then isn't it better to replace CONFIG_HOSTAUDIO in
arch/um/drivers/Makefile with CONFIG_UML_SOUND, so that you can drop
CONFIG_HOSTAUDIO as well?


thanks,

Takashi

2023-07-25 18:41:24

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH v2] um/drivers: Kconfig: fix hostaudio build errors



On 7/25/23 03:31, Takashi Iwai wrote:
> On Sun, 23 Jul 2023 23:57:56 +0200,
> Randy Dunlap wrote:
>>
>> Use "select"s to ensure that the required kconfig symbols are set
>> as expected.
>>
>> This fixes build errors when CONFIG_SOUND is not set.
>>
>> ld: arch/um/drivers/hostaudio_kern.o: in function `hostaudio_cleanup_module':
>> hostaudio_kern.c:(.exit.text+0xa): undefined reference to `unregister_sound_mixer'
>> ld: hostaudio_kern.c:(.exit.text+0x15): undefined reference to `unregister_sound_dsp'
>> ld: arch/um/drivers/hostaudio_kern.o: in function `hostaudio_init_module':
>> hostaudio_kern.c:(.init.text+0x19): undefined reference to `register_sound_dsp'
>> ld: hostaudio_kern.c:(.init.text+0x31): undefined reference to `register_sound_mixer'
>> ld: hostaudio_kern.c:(.init.text+0x49): undefined reference to `unregister_sound_dsp'
>>
>> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
>> Fixes: d886e87cb82b ("sound: make OSS sound core optional")
>> Signed-off-by: Randy Dunlap <[email protected]>
>> Reported-by: kernel test robot <[email protected]>
>> Link: lore.kernel.org/r/[email protected]
>> Cc: Richard Weinberger <[email protected]>
>> Cc: Anton Ivanov <[email protected]>
>> Cc: Johannes Berg <[email protected]>
>> Cc: [email protected]
>> Cc: Tejun Heo <[email protected]>
>> Cc: Takashi Iwai <[email protected]>
>> Cc: Jaroslav Kysela <[email protected]>
>> Cc: Masahiro Yamada <[email protected]>
>> Cc: Nathan Chancellor <[email protected]>
>> Cc: Nick Desaulniers <[email protected]>
>> Cc: Nicolas Schier <[email protected]>
>> Cc: [email protected]
>> ---
>> v2: don't delete the HOSTAUDIO Kconfig entry (Masahiro)
>>
>> arch/um/drivers/Kconfig | 10 ++--------
>> 1 file changed, 2 insertions(+), 8 deletions(-)
>>
>> diff -- a/arch/um/drivers/Kconfig b/arch/um/drivers/Kconfig
>> --- a/arch/um/drivers/Kconfig
>> +++ b/arch/um/drivers/Kconfig
>> @@ -111,20 +111,14 @@ config SSL_CHAN
>>
>> config UML_SOUND
>> tristate "Sound support"
>> + select SOUND
>> + select SOUND_OSS_CORE
>> help
>> This option enables UML sound support. If enabled, it will pull in
>> soundcore and the UML hostaudio relay, which acts as a intermediary
>> between the host's dsp and mixer devices and the UML sound system.
>> It is safe to say 'Y' here.
>>
>> -config SOUND
>> - tristate
>> - default UML_SOUND
>> -
>> -config SOUND_OSS_CORE
>> - bool
>> - default UML_SOUND
>> -
>> config HOSTAUDIO
>> tristate
>> default UML_SOUND
>
> And now essentially CONFIG_HOSTAUDIO is equal with CONFIG_UML_SOUND.
> Then isn't it better to replace CONFIG_HOSTAUDIO in
> arch/um/drivers/Makefile with CONFIG_UML_SOUND, so that you can drop
> CONFIG_HOSTAUDIO as well?

OK, I'll send a v3 with that change.

thanks.
--
~Randy