2023-07-28 06:15:03

by Randy Dunlap

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

Use "select"s to ensure that the required kconfig symbols are set
as expected.
Drop HOSTAUDIO since it is now equivalent to UML_SOUND.

Allow SOUND with UML regardless of HAS_IOMEM. Otherwise there is a
kconfig warning for unmet dependencies. (This was not an issue when
SOUND was defined in arch/um/drivers/Kconfig. I have done 50 randconfig
builds and didn't find any issues.)

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'

and this kconfig warning:
WARNING: unmet direct dependencies detected for SOUND

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]
Cc: [email protected]
---
v2: don't delete the HOSTAUDIO Kconfig entry (Masahiro)
v3: drop HOSTAUDIO and use CONFIG_UML_SOUND for it in Makefile (Takashi);
add SOUND depends on "|| UML" to HAS_IOMEM

arch/um/drivers/Kconfig | 14 ++------------
arch/um/drivers/Makefile | 2 +-
sound/Kconfig | 2 +-
3 files changed, 4 insertions(+), 14 deletions(-)

diff -- a/arch/um/drivers/Kconfig b/arch/um/drivers/Kconfig
--- a/arch/um/drivers/Kconfig
+++ b/arch/um/drivers/Kconfig
@@ -111,24 +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
-
endmenu

menu "UML Network Devices"
diff -- a/sound/Kconfig b/sound/Kconfig
--- a/sound/Kconfig
+++ b/sound/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
menuconfig SOUND
tristate "Sound card support"
- depends on HAS_IOMEM
+ depends on HAS_IOMEM || UML
help
If you have a sound card in your computer, i.e. if it can say more
than an occasional beep, say Y.
diff -- a/arch/um/drivers/Makefile b/arch/um/drivers/Makefile
--- a/arch/um/drivers/Makefile
+++ b/arch/um/drivers/Makefile
@@ -54,7 +54,7 @@ obj-$(CONFIG_UML_NET) += net.o
obj-$(CONFIG_MCONSOLE) += mconsole.o
obj-$(CONFIG_MMAPPER) += mmapper_kern.o
obj-$(CONFIG_BLK_DEV_UBD) += ubd.o
-obj-$(CONFIG_HOSTAUDIO) += hostaudio.o
+obj-$(CONFIG_UML_SOUND) += hostaudio.o
obj-$(CONFIG_NULL_CHAN) += null.o
obj-$(CONFIG_PORT_CHAN) += port.o
obj-$(CONFIG_PTY_CHAN) += pty.o


2023-07-28 07:57:54

by Takashi Iwai

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

On Fri, 28 Jul 2023 06:30:13 +0200,
Randy Dunlap wrote:
>
> Use "select"s to ensure that the required kconfig symbols are set
> as expected.
> Drop HOSTAUDIO since it is now equivalent to UML_SOUND.
>
> Allow SOUND with UML regardless of HAS_IOMEM. Otherwise there is a
> kconfig warning for unmet dependencies. (This was not an issue when
> SOUND was defined in arch/um/drivers/Kconfig. I have done 50 randconfig
> builds and didn't find any issues.)
>
> 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'
>
> and this kconfig warning:
> WARNING: unmet direct dependencies detected for SOUND
>
> 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]
> Cc: [email protected]

Reviewed-by: Takashi Iwai <[email protected]>


I'm not sure who should take it. If it's preferred through sound.git
tree, let me know.


thanks,

Takashi

2023-07-28 09:14:51

by Masahiro Yamada

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

On Fri, Jul 28, 2023 at 1:30 PM Randy Dunlap <[email protected]> wrote:
>
> Use "select"s to ensure that the required kconfig symbols are set
> as expected.
> Drop HOSTAUDIO since it is now equivalent to UML_SOUND.
>
> Allow SOUND with UML regardless of HAS_IOMEM. Otherwise there is a
> kconfig warning for unmet dependencies. (This was not an issue when
> SOUND was defined in arch/um/drivers/Kconfig. I have done 50 randconfig
> builds and didn't find any issues.)
>
> 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'
>
> and this kconfig warning:
> WARNING: unmet direct dependencies detected for SOUND
>
> 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]
> Cc: [email protected]
> ---
> v2: don't delete the HOSTAUDIO Kconfig entry (Masahiro)
> v3: drop HOSTAUDIO and use CONFIG_UML_SOUND for it in Makefile (Takashi);
> add SOUND depends on "|| UML" to HAS_IOMEM
>
> arch/um/drivers/Kconfig | 14 ++------------
> arch/um/drivers/Makefile | 2 +-
> sound/Kconfig | 2 +-
> 3 files changed, 4 insertions(+), 14 deletions(-)
>
> diff -- a/arch/um/drivers/Kconfig b/arch/um/drivers/Kconfig
> --- a/arch/um/drivers/Kconfig
> +++ b/arch/um/drivers/Kconfig
> @@ -111,24 +111,14 @@ config SSL_CHAN
>
> config UML_SOUND
> tristate "Sound support"
> + select SOUND


This would be the only instance that select's SOUND.
Perhaps, this could be 'depends on SOUND'.
(in that case, arch/um/configs/*_defconfig needs modification).

Just my two cents.


Reviewed-by: Masahiro Yamada <[email protected]>








--
Best Regards
Masahiro Yamada

2023-07-31 03:11:01

by Randy Dunlap

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



On 7/28/23 01:51, Masahiro Yamada wrote:
> On Fri, Jul 28, 2023 at 1:30 PM Randy Dunlap <[email protected]> wrote:
>>
>> Use "select"s to ensure that the required kconfig symbols are set
>> as expected.
>> Drop HOSTAUDIO since it is now equivalent to UML_SOUND.
>>
>> Allow SOUND with UML regardless of HAS_IOMEM. Otherwise there is a
>> kconfig warning for unmet dependencies. (This was not an issue when
>> SOUND was defined in arch/um/drivers/Kconfig. I have done 50 randconfig
>> builds and didn't find any issues.)
>>
>> 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'
>>
>> and this kconfig warning:
>> WARNING: unmet direct dependencies detected for SOUND
>>
>> 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]
>> Cc: [email protected]
>> ---
>> v2: don't delete the HOSTAUDIO Kconfig entry (Masahiro)
>> v3: drop HOSTAUDIO and use CONFIG_UML_SOUND for it in Makefile (Takashi);
>> add SOUND depends on "|| UML" to HAS_IOMEM
>>
>> arch/um/drivers/Kconfig | 14 ++------------
>> arch/um/drivers/Makefile | 2 +-
>> sound/Kconfig | 2 +-
>> 3 files changed, 4 insertions(+), 14 deletions(-)
>>
>> diff -- a/arch/um/drivers/Kconfig b/arch/um/drivers/Kconfig
>> --- a/arch/um/drivers/Kconfig
>> +++ b/arch/um/drivers/Kconfig
>> @@ -111,24 +111,14 @@ config SSL_CHAN
>>
>> config UML_SOUND
>> tristate "Sound support"
>> + select SOUND
>
>
> This would be the only instance that select's SOUND.
> Perhaps, this could be 'depends on SOUND'.
> (in that case, arch/um/configs/*_defconfig needs modification).
>
> Just my two cents.
>

Oh, good point, and one that I agree with.

I'll send a v4.

>
> Reviewed-by: Masahiro Yamada <[email protected]>

Takashi, I don't know who will merge the patch, but I would expect
that one of the UML maintainers to merge it.... FWIW.

Thanks.
--
~Randy

2023-07-31 06:08:53

by Richard Weinberger

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

----- Ursprüngliche Mail -----
> Von: "Randy Dunlap" <[email protected]>
> Oh, good point, and one that I agree with.
>
> I'll send a v4.

Ok!

>>
>> Reviewed-by: Masahiro Yamada <[email protected]>
>
> Takashi, I don't know who will merge the patch, but I would expect
> that one of the UML maintainers to merge it.... FWIW.

Yep. I'll carry this fix (v4) through the uml tree.

Thanks,
//richard