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 <rdun...@infradead.org>
Reported-by: kernel test robot <l...@intel.com>
Link: lore.kernel.org/r/202307141416.vxurvpfv-...@intel.com
Cc: Richard Weinberger <rich...@nod.at>
Cc: Anton Ivanov <anton.iva...@cambridgegreys.com>
Cc: Johannes Berg <johan...@sipsolutions.net>
Cc: linux-um@lists.infradead.org
Cc: Tejun Heo <t...@kernel.org>
Cc: Takashi Iwai <ti...@suse.de>
Cc: Jaroslav Kysela <pe...@perex.cz>
Cc: Masahiro Yamada <masahi...@kernel.org>
Cc: Nathan Chancellor <nat...@kernel.org>
Cc: Nick Desaulniers <ndesaulni...@google.com>
Cc: Nicolas Schier <nico...@fjasle.eu>
Cc: linux-kbu...@vger.kernel.org
Cc: alsa-de...@alsa-project.org
---
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

_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um

Reply via email to