On Tue, Aug 1, 2023 at 11:05 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: > > Use "select"s to ensure that the required kconfig symbols are set > as expected. Using plural, "select"s, sounds odd now. Use "select" and "depends on" to ensure ... ? As I said in the previous email, you need to add CONFIG_SOUND=y to arch/um/configs/{i386,x86_64}_defconfig, otherwise CONFIG_UML_SOUND is hidden. > 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@xxxxxxxxxxxxx> > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Closes: lore.kernel.org/r/202307141416.vxuRVpFv-lkp@xxxxxxxxx > Cc: Richard Weinberger <richard@xxxxxx> > Cc: Anton Ivanov <anton.ivanov@xxxxxxxxxxxxxxxxxx> > Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > Cc: linux-um@xxxxxxxxxxxxxxxxxxx > Cc: Tejun Heo <tj@xxxxxxxxxx> > Cc: Takashi Iwai <tiwai@xxxxxxx> > Cc: Jaroslav Kysela <perex@xxxxxxxx> > Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx> > Cc: Nathan Chancellor <nathan@xxxxxxxxxx> > Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > Cc: Nicolas Schier <nicolas@xxxxxxxxx> > Cc: linux-kbuild@xxxxxxxxxxxxxxx > Cc: alsa-devel@xxxxxxxxxxxxxxxx > --- > 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 > v4: use depends on instead of select for SOUND (Masahiro); > use Closes: instead of Link: > > arch/um/drivers/Kconfig | 16 +++------------- > arch/um/drivers/Makefile | 2 +- > sound/Kconfig | 2 +- > 3 files changed, 5 insertions(+), 15 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" > + 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 -- 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 -- Best Regards Masahiro Yamada