Re: [PATCH V3 16/19] virtio-pci: introduce modern device module

From: Jason Wang
Date: Thu Feb 18 2021 - 01:15:11 EST



On 2021/2/10 下午8:35, Michael S. Tsirkin wrote:
On Wed, Feb 10, 2021 at 12:44:03PM +0800, Jason Wang wrote:
On 2021/2/9 下午10:20, Michael S. Tsirkin wrote:
On Mon, Jan 04, 2021 at 02:55:00PM +0800, Jason Wang wrote:
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
---
drivers/virtio/Kconfig | 10 +-
drivers/virtio/Makefile | 1 +
drivers/virtio/virtio_pci_common.h | 27 +-
drivers/virtio/virtio_pci_modern.c | 617 -------------------------
drivers/virtio/virtio_pci_modern_dev.c | 599 ++++++++++++++++++++++++
include/linux/virtio_pci_modern.h | 111 +++++
6 files changed, 721 insertions(+), 644 deletions(-)
create mode 100644 drivers/virtio/virtio_pci_modern_dev.c
create mode 100644 include/linux/virtio_pci_modern.h

diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig
index 7b41130d3f35..6b9b81f4b8c2 100644
--- a/drivers/virtio/Kconfig
+++ b/drivers/virtio/Kconfig
@@ -12,6 +12,14 @@ config ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS
This option is selected if the architecture may need to enforce
VIRTIO_F_ACCESS_PLATFORM
+config VIRTIO_PCI_MODERN
+ tristate "Modern Virtio PCI Device"
+ depends on PCI
+ help
+ Modern PCI device implementation. This module implements the
+ basic probe and control for devices which are based on modern
+ PCI device with possible vendor specific extensions.
+
menuconfig VIRTIO_MENU
bool "Virtio drivers"
default y
@@ -20,7 +28,7 @@ if VIRTIO_MENU
config VIRTIO_PCI
tristate "PCI driver for virtio devices"
- depends on PCI
+ depends on VIRTIO_PCI_MODERN
select VIRTIO
help
This driver provides support for virtio based paravirtual device
Looks like VIRTIO_PCI_MODERN is actually just a library that
virtio pci uses. Is that right?

Right.


In that case just select it
automatically, let's not make users enable it manually.

I've considered to do this but the problem is that the module depends on PCI
so it can't be selected I think.
Drop the dependency, document that whoever selects it must depend on PCI.


Fine with me. Will post a patch.

Thanks



Thanks