[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAK7LNAQBoE19Bipk3KT2z+bTEJ5Mkm3qNesa5U92k0N+a-NQ9A@mail.gmail.com>
Date: Tue, 1 Aug 2023 20:11:37 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Randy Dunlap <rdunlap@...radead.org>
Cc: linux-kernel@...r.kernel.org, kernel test robot <lkp@...el.com>,
Richard Weinberger <richard@....at>,
Anton Ivanov <anton.ivanov@...bridgegreys.com>,
Johannes Berg <johannes@...solutions.net>,
linux-um@...ts.infradead.org, Tejun Heo <tj@...nel.org>,
Takashi Iwai <tiwai@...e.de>, Jaroslav Kysela <perex@...ex.cz>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Nicolas Schier <nicolas@...sle.eu>,
linux-kbuild@...r.kernel.org, alsa-devel@...a-project.org
Subject: Re: [PATCH v4] um/drivers: fix hostaudio build errors
On Tue, Aug 1, 2023 at 11:05 AM Randy Dunlap <rdunlap@...radead.org> 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@...radead.org>
> Reported-by: kernel test robot <lkp@...el.com>
> Closes: lore.kernel.org/r/202307141416.vxuRVpFv-lkp@...el.com
> Cc: Richard Weinberger <richard@....at>
> Cc: Anton Ivanov <anton.ivanov@...bridgegreys.com>
> Cc: Johannes Berg <johannes@...solutions.net>
> Cc: linux-um@...ts.infradead.org
> Cc: Tejun Heo <tj@...nel.org>
> Cc: Takashi Iwai <tiwai@...e.de>
> Cc: Jaroslav Kysela <perex@...ex.cz>
> Cc: Masahiro Yamada <masahiroy@...nel.org>
> Cc: Nathan Chancellor <nathan@...nel.org>
> Cc: Nick Desaulniers <ndesaulniers@...gle.com>
> Cc: Nicolas Schier <nicolas@...sle.eu>
> Cc: linux-kbuild@...r.kernel.org
> Cc: alsa-devel@...a-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
> 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
Powered by blists - more mailing lists