| From 66a52841baad80d5fa0f3c87eb5f355b8eb4948c Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 1 Aug 2023 22:15:00 -0700 |
| Subject: um: Fix hostaudio build errors |
| |
| From: Randy Dunlap <rdunlap@infradead.org> |
| |
| [ Upstream commit db4bfcba7bb8d10f00bba2a3da6b9a9c2a1d7b71 ] |
| |
| Use "select" to ensure that the required kconfig symbols are set |
| as expected. |
| Drop HOSTAUDIO since it is now equivalent to UML_SOUND. |
| |
| Set CONFIG_SOUND=m in ARCH=um defconfig files to maintain the |
| status quo of the default configs. |
| |
| 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 <rdunlap@infradead.org> |
| Reported-by: kernel test robot <lkp@intel.com> |
| Closes: 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 |
| Cc: alsa-devel@alsa-project.org |
| Reviewed-by: Masahiro Yamada <masahiroy@kernel.org> |
| Signed-off-by: Richard Weinberger <richard@nod.at> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/um/configs/i386_defconfig | 1 + |
| arch/um/configs/x86_64_defconfig | 1 + |
| arch/um/drivers/Kconfig | 16 +++------------- |
| arch/um/drivers/Makefile | 2 +- |
| sound/Kconfig | 2 +- |
| 5 files changed, 7 insertions(+), 15 deletions(-) |
| |
| diff --git a/arch/um/configs/i386_defconfig b/arch/um/configs/i386_defconfig |
| index c0162286d68b7..c33a6880a437a 100644 |
| --- a/arch/um/configs/i386_defconfig |
| +++ b/arch/um/configs/i386_defconfig |
| @@ -35,6 +35,7 @@ CONFIG_TTY_CHAN=y |
| CONFIG_XTERM_CHAN=y |
| CONFIG_CON_CHAN="pts" |
| CONFIG_SSL_CHAN="pts" |
| +CONFIG_SOUND=m |
| CONFIG_UML_SOUND=m |
| CONFIG_DEVTMPFS=y |
| CONFIG_DEVTMPFS_MOUNT=y |
| diff --git a/arch/um/configs/x86_64_defconfig b/arch/um/configs/x86_64_defconfig |
| index bec6e5d956873..df29f282b6ac2 100644 |
| --- a/arch/um/configs/x86_64_defconfig |
| +++ b/arch/um/configs/x86_64_defconfig |
| @@ -33,6 +33,7 @@ CONFIG_TTY_CHAN=y |
| CONFIG_XTERM_CHAN=y |
| CONFIG_CON_CHAN="pts" |
| CONFIG_SSL_CHAN="pts" |
| +CONFIG_SOUND=m |
| CONFIG_UML_SOUND=m |
| CONFIG_DEVTMPFS=y |
| CONFIG_DEVTMPFS_MOUNT=y |
| diff --git a/arch/um/drivers/Kconfig b/arch/um/drivers/Kconfig |
| index 36911b1fddcf0..b94b2618e7d84 100644 |
| --- a/arch/um/drivers/Kconfig |
| +++ b/arch/um/drivers/Kconfig |
| @@ -111,24 +111,14 @@ config SSL_CHAN |
| |
| config UML_SOUND |
| tristate "Sound support" |
| + depends on 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 |
| + 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 --git a/arch/um/drivers/Makefile b/arch/um/drivers/Makefile |
| index a461a950f0518..0e6af81096fd5 100644 |
| --- 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 |
| diff --git a/sound/Kconfig b/sound/Kconfig |
| index 0ddfb717b81dc..466e848689bd1 100644 |
| --- 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. |
| -- |
| 2.40.1 |
| |