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

From: Michael S. Tsirkin
Date: Wed Feb 10 2021 - 07:39:16 EST


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.

> Thanks
>
>
> >