[v2] um/drivers: Kconfig: fix hostaudio build errors

Message ID 20230723215756.18307-1-rdunlap@infradead.org
State New
Headers
Series [v2] um/drivers: Kconfig: fix hostaudio build errors |

Commit Message

Randy Dunlap July 23, 2023, 9:57 p.m. UTC
  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 <rdunlap@infradead.org>
Reported-by: kernel test robot <lkp@intel.com>
Link: lore.kernel.org/r/202307141416.vxuRVpFv-lkp@intel.com
Cc: Richard Weinberger <richard@nod.at>
Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-um@lists.infradead.org
Cc: Tejun Heo <tj@kernel.org>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Nicolas Schier <nicolas@fjasle.eu>
Cc: linux-kbuild@vger.kernel.org
---
v2: don't delete the HOSTAUDIO Kconfig entry (Masahiro)

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

Comments

Takashi Iwai July 25, 2023, 10:31 a.m. UTC | #1
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 <rdunlap@infradead.org>
> Reported-by: kernel test robot <lkp@intel.com>
> Link: lore.kernel.org/r/202307141416.vxuRVpFv-lkp@intel.com
> Cc: Richard Weinberger <richard@nod.at>
> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
> Cc: Johannes Berg <johannes@sipsolutions.net>
> Cc: linux-um@lists.infradead.org
> Cc: Tejun Heo <tj@kernel.org>
> Cc: Takashi Iwai <tiwai@suse.de>
> Cc: Jaroslav Kysela <perex@perex.cz>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Cc: Nathan Chancellor <nathan@kernel.org>
> Cc: Nick Desaulniers <ndesaulniers@google.com>
> Cc: Nicolas Schier <nicolas@fjasle.eu>
> Cc: linux-kbuild@vger.kernel.org
> ---
> 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
  
Randy Dunlap July 25, 2023, 6:19 p.m. UTC | #2
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 <rdunlap@infradead.org>
>> Reported-by: kernel test robot <lkp@intel.com>
>> Link: lore.kernel.org/r/202307141416.vxuRVpFv-lkp@intel.com
>> Cc: Richard Weinberger <richard@nod.at>
>> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
>> Cc: Johannes Berg <johannes@sipsolutions.net>
>> Cc: linux-um@lists.infradead.org
>> Cc: Tejun Heo <tj@kernel.org>
>> Cc: Takashi Iwai <tiwai@suse.de>
>> Cc: Jaroslav Kysela <perex@perex.cz>
>> Cc: Masahiro Yamada <masahiroy@kernel.org>
>> Cc: Nathan Chancellor <nathan@kernel.org>
>> Cc: Nick Desaulniers <ndesaulniers@google.com>
>> Cc: Nicolas Schier <nicolas@fjasle.eu>
>> Cc: linux-kbuild@vger.kernel.org
>> ---
>> 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.
  

Patch

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