Re: [PATCH] vfio-mdev: add back CONFIG_VFIO dependency

From: Alex Williamson
Date: Thu Jan 26 2023 - 12:39:06 EST


On Thu, 26 Jan 2023 17:37:06 +0100
Arnd Bergmann <arnd@xxxxxxxxxx> wrote:

> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> CONFIG_VFIO_MDEV cannot be selected when VFIO itself is
> disabled, otherwise we get a link failure:
>
> WARNING: unmet direct dependencies detected for VFIO_MDEV
> Depends on [n]: VFIO [=n]
> Selected by [y]:
> - SAMPLE_VFIO_MDEV_MTTY [=y] && SAMPLES [=y]
> - SAMPLE_VFIO_MDEV_MDPY [=y] && SAMPLES [=y]
> - SAMPLE_VFIO_MDEV_MBOCHS [=y] && SAMPLES [=y]
> /home/arnd/cross/arm64/gcc-13.0.1-nolibc/x86_64-linux/bin/x86_64-linux-ld: samples/vfio-mdev/mdpy.o: in function `mdpy_remove':
> mdpy.c:(.text+0x1e1): undefined reference to `vfio_unregister_group_dev'
> /home/arnd/cross/arm64/gcc-13.0.1-nolibc/x86_64-linux/bin/x86_64-linux-ld: samples/vfio-mdev/mdpy.o: in function `mdpy_probe':
> mdpy.c:(.text+0x149e): undefined reference to `_vfio_alloc_device'
>
> Fixes: 8bf8c5ee1f38 ("vfio-mdev: turn VFIO_MDEV into a selectable symbol")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> samples/Kconfig | 3 +++
> 1 file changed, 3 insertions(+)

Seems like it wouldn't just be the sample drivers with this issue,
don't VFIO_CCW, VFIO_AP, and DRM_I915_GVT_KVMGT all have this problem?
Thanks,

Alex

>
> diff --git a/samples/Kconfig b/samples/Kconfig
> index 56b191d128d8..44a09dfa8a0b 100644
> --- a/samples/Kconfig
> +++ b/samples/Kconfig
> @@ -185,6 +185,7 @@ config SAMPLE_UHID
>
> config SAMPLE_VFIO_MDEV_MTTY
> tristate "Build VFIO mtty example mediated device sample code"
> + depends on VFIO
> select VFIO_MDEV
> help
> Build a virtual tty sample driver for use as a VFIO
> @@ -192,6 +193,7 @@ config SAMPLE_VFIO_MDEV_MTTY
>
> config SAMPLE_VFIO_MDEV_MDPY
> tristate "Build VFIO mdpy example mediated device sample code"
> + depends on VFIO
> select VFIO_MDEV
> help
> Build a virtual display sample driver for use as a VFIO
> @@ -209,6 +211,7 @@ config SAMPLE_VFIO_MDEV_MDPY_FB
>
> config SAMPLE_VFIO_MDEV_MBOCHS
> tristate "Build VFIO mdpy example mediated device sample code"
> + depends on VFIO
> select VFIO_MDEV
> select DMA_SHARED_BUFFER
> help