This series cleans up device configuration in virtio: 1) all properties (features and not) are moved to a single macro DEFINE_VIRTIO_XYZ_PROPERTIES. This makes the definitions uniform across all three virtio backends.
2) all configuration is moved to a single struct, which embeds the NICConf/BlockConf for respectively virtio-nic/virtio-blk. This lets the DEFINE_VIRTIO_XYZ_PROPERTIES include these pieces as well. 3) virtio-9p had some knowledge of PCI, but there should be no reason why s390 or mmio backends cannot use it. These bits are removed and moved back to virtio-pci.[ch]. Also, various bits were using CONFIG_LINUX to test for virtio-9p availability, and I changed them uniformly to CONFIG_VIRTFS 4) init and exit functions are moved to the header files. This removes some of the #ifdef CONFIG_VIRTFS, too. Tested x86_64, compiled s390x. v1->v2: new patch 4; use CONFIG_VIRTFS in virtio-pci.*; new patches 11-15. Dropped syborg-virtio. Paolo Bonzini (15): virtio-net: move property declarations to header file virtio-net: move NICConf into virtio_net_conf virtio-serial: move property declarations to header file virtio-9p: use CONFIG_VIRTFS, not CONFIG_LINUX virtio-9p: remove PCI dependencies from hw/9pfs/ virtio-9p: move property declarations to header file virtio-blk: define VirtIOBlkConf virtio-blk: move property declarations to header file virtio-blk: move BlockConf into VirtIOBlkConf virtio: move conf fields into an anonymous union virtio-net: move init function to virtio-net.h virtio-serial: move init function to virtio-serial.h virtio-balloon: move init function to virtio-balloon.h virtio-9p: move init function to virtio-9p-device.h virtio-blk: move init function to virtio-blk.h hw/9pfs/virtio-9p-device.c | 36 +--------------------- hw/{9p.h => 9pfs/virtio-9p-device.h} | 11 +++++- hw/9pfs/virtio-9p.c | 1 - hw/s390-virtio-bus.c | 18 +++-------- hw/s390-virtio-bus.h | 11 +++--- hw/virtio-balloon.h | 3 ++ hw/virtio-blk.c | 28 ++++++++-------- hw/virtio-blk.h | 15 +++++++++ hw/virtio-net.c | 13 +++---- hw/virtio-net.h | 46 ++++++++++++++++----------- hw/virtio-pci.c | 57 +++++++++++++++++++++++----------- hw/virtio-pci.h | 18 ++++++----- hw/virtio-serial.h | 12 ++++++- hw/virtio.h | 22 ------------- 14 files changed, 145 insertions(+), 146 deletions(-) rename hw/{9p.h => 9pfs/virtio-9p-device.h} (46%) -- 1.7.7.1