Message ID | 20230728043013.27776-1-rdunlap@infradead.org |
---|---|
State | Superseded |
Headers | show |
Series | [v3] um/drivers: fix hostaudio build errors | expand |
On 7/28/23 01:51, Masahiro Yamada wrote: > On Fri, Jul 28, 2023 at 1:30 PM Randy Dunlap <rdunlap@infradead.org> 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 <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 >> Cc: alsa-devel@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 > > > 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 <masahiroy@kernel.org> 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.
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
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 <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 Cc: alsa-devel@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(-)