[Qemu-devel] [PULL 25/54] virtio: express virtio dependencies with Kconfig

Paolo Bonzini posted 54 patches 6 years, 7 months ago
Maintainers: Alberto Garcia <berto@igalia.com>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Greg Kurz <groug@kaod.org>, "Alex Bennée" <alex.bennee@linaro.org>, Peter Maydell <peter.maydell@linaro.org>, Helge Deller <deller@gmx.de>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Cleber Rosa <crosa@redhat.com>, Halil Pasic <pasic@linux.ibm.com>, Eduardo Habkost <ehabkost@redhat.com>, Stafford Horne <shorne@gmail.com>, "Michael S. Tsirkin" <mst@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Chris Wulff <crwulff@gmail.com>, Alistair Francis <Alistair.Francis@wdc.com>, Aleksandar Markovic <amarkovic@wavecomp.com>, Corey Minyard <minyard@acm.org>, Cornelia Huck <cohuck@redhat.com>, Richard Henderson <rth@twiddle.net>, Palmer Dabbelt <palmer@sifive.com>, Kevin Wolf <kwolf@redhat.com>, Alex Williamson <alex.williamson@redhat.com>, Guan Xuetao <gxt@mprc.pku.edu.cn>, Sagar Karandikar <sagark@eecs.berkeley.edu>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Anthony Green <green@moxielogic.com>, David Hildenbrand <david@redhat.com>, Jason Wang <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Aleksandar Rikalo <arikalo@wavecomp.com>, Igor Mammedov <imammedo@redhat.com>, Max Filippov <jcmvbkbc@gmail.com>, Gerd Hoffmann <kraxel@redhat.com>, Fam Zheng <fam@euphon.net>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Stefan Berger <stefanb@linux.ibm.com>, Aurelien Jarno <aurelien@aurel32.net>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>, Max Reitz <mreitz@redhat.com>, Artyom Tarasenko <atar4qemu@gmail.com>, Michael Walle <michael@walle.cc>, Marek Vasut <marex@denx.de>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Alistair Francis <alistair@alistair23.me>, Christian Borntraeger <borntraeger@de.ibm.com>, John Snow <jsnow@redhat.com>
There is a newer version of this series
[Qemu-devel] [PULL 25/54] virtio: express virtio dependencies with Kconfig
Posted by Paolo Bonzini 6 years, 7 months ago
From: Yang Zhong <yang.zhong@intel.com>

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-42-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak  |  1 -
 default-configs/s390x-softmmu.mak |  1 -
 default-configs/virtio.mak        | 11 -----------
 hw/block/Kconfig                  |  2 ++
 hw/char/Kconfig                   |  2 ++
 hw/display/Kconfig                |  2 +-
 hw/input/Kconfig                  |  4 +++-
 hw/net/Kconfig                    |  2 ++
 hw/scsi/Kconfig                   |  2 ++
 hw/virtio/Kconfig                 |  7 +++++++
 hw/virtio/Makefile.objs           |  2 ++
 11 files changed, 21 insertions(+), 15 deletions(-)
 delete mode 100644 default-configs/virtio.mak

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index c0826f5..53e9d5e 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -1,7 +1,6 @@
 # Default configuration for i386-softmmu
 
 CONFIG_VMXNET3_PCI=y
-CONFIG_VIRTIO_VGA=y
 CONFIG_IPMI=y
 CONFIG_IPMI_LOCAL=y
 CONFIG_IPMI_EXTERN=y
diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-softmmu.mak
index 2794ffb..2be5059 100644
--- a/default-configs/s390x-softmmu.mak
+++ b/default-configs/s390x-softmmu.mak
@@ -1,6 +1,5 @@
 CONFIG_PCI=y
 CONFIG_VIRTIO_PCI=y
-include virtio.mak
 CONFIG_SCLPCONSOLE=y
 CONFIG_TERMINAL3270=y
 CONFIG_S390_FLIC=y
diff --git a/default-configs/virtio.mak b/default-configs/virtio.mak
deleted file mode 100644
index 7e6d467..0000000
--- a/default-configs/virtio.mak
+++ /dev/null
@@ -1,11 +0,0 @@
-CONFIG_VIRTIO=y
-CONFIG_VIRTIO_BALLOON=y
-CONFIG_VIRTIO_BLK=y
-CONFIG_VIRTIO_CRYPTO=y
-CONFIG_VIRTIO_GPU=y
-CONFIG_EDID=y
-CONFIG_VIRTIO_INPUT=y
-CONFIG_VIRTIO_NET=y
-CONFIG_VIRTIO_RNG=y
-CONFIG_VIRTIO_SCSI=y
-CONFIG_VIRTIO_SERIAL=y
diff --git a/hw/block/Kconfig b/hw/block/Kconfig
index 0aa82ac..f89e4eb 100644
--- a/hw/block/Kconfig
+++ b/hw/block/Kconfig
@@ -28,6 +28,8 @@ config NVME_PCI
 
 config VIRTIO_BLK
     bool
+    default y
+    depends on VIRTIO
 
 config VHOST_USER_BLK
     bool
diff --git a/hw/char/Kconfig b/hw/char/Kconfig
index fc18481..6360c9f 100644
--- a/hw/char/Kconfig
+++ b/hw/char/Kconfig
@@ -26,6 +26,8 @@ config SERIAL_PCI
 
 config VIRTIO_SERIAL
     bool
+    default y
+    depends on VIRTIO
 
 config STM32F2XX_USART
     bool
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index 5529d0f..e126cbb 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -95,7 +95,7 @@ config QXL
 
 config VIRTIO_GPU
     bool
-    default y if PCI_DEVICES
+    default y
     depends on VIRTIO
     select EDID
 
diff --git a/hw/input/Kconfig b/hw/input/Kconfig
index e05b7be..e2e66f0 100644
--- a/hw/input/Kconfig
+++ b/hw/input/Kconfig
@@ -21,11 +21,13 @@ config TSC2005
 
 config VIRTIO_INPUT
     bool
+    default y
+    depends on VIRTIO
 
 config VIRTIO_INPUT_HOST
     bool
     default y
-    depends on LINUX
+    depends on VIRTIO && LINUX
 
 config TSC210X
     bool
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index 86b880b..c562b69 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -95,6 +95,8 @@ config XILINX_ETHLITE
 
 config VIRTIO_NET
     bool
+    default y
+    depends on VIRTIO
 
 config ETSEC
     bool
diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
index a696ff0..c0031a4 100644
--- a/hw/scsi/Kconfig
+++ b/hw/scsi/Kconfig
@@ -43,6 +43,8 @@ config SPAPR_VSCSI
 
 config VIRTIO_SCSI
     bool
+    default y
+    depends on VIRTIO
     select SCSI
 
 config VHOST_USER_SCSI
diff --git a/hw/virtio/Kconfig b/hw/virtio/Kconfig
index 5dafbe3..74f4573 100644
--- a/hw/virtio/Kconfig
+++ b/hw/virtio/Kconfig
@@ -3,6 +3,8 @@ config VIRTIO
 
 config VIRTIO_RNG
     bool
+    default y
+    depends on VIRTIO
 
 config VIRTIO_PCI
     bool
@@ -12,9 +14,14 @@ config VIRTIO_PCI
 
 config VIRTIO_MMIO
     bool
+    select VIRTIO
 
 config VIRTIO_BALLOON
     bool
+    default y
+    depends on VIRTIO
 
 config VIRTIO_CRYPTO
     bool
+    default y
+    depends on VIRTIO
diff --git a/hw/virtio/Makefile.objs b/hw/virtio/Makefile.objs
index a3eb8ed..f2ab667 100644
--- a/hw/virtio/Makefile.objs
+++ b/hw/virtio/Makefile.objs
@@ -29,6 +29,8 @@ obj-$(CONFIG_VIRTIO_BLK) += virtio-blk-pci.o
 obj-$(CONFIG_VIRTIO_NET) += virtio-net-pci.o
 obj-$(CONFIG_VIRTIO_SERIAL) += virtio-serial-pci.o
 endif
+else
+common-obj-y += vhost-stub.o
 endif
 
 common-obj-$(CONFIG_ALL) += vhost-stub.o
-- 
1.8.3.1