Jason Wang
2021-Feb-10 04:44 UTC
[PATCH V3 16/19] virtio-pci: introduce modern device module
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 at redhat.com> >> --- >> 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. Thanks>
Michael S. Tsirkin
2021-Feb-10 12:35 UTC
[PATCH V3 16/19] virtio-pci: introduce modern device module
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 at redhat.com> > > > --- > > > 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 > > > >