提交 b3409a31 编写于 作者: G Gerd Hoffmann

virtio-gpu: use virtio_instance_init_common, fixup properties

Switch over to virtio_instance_init_common.  Drop duplicate properties
in virtio-gpu-pci and virtio-vga as they are properly aliased now.  Also
drop the indirection via DEFINE_VIRTIO_GPU_PROPERTIES, we don't need it
any more as the properties are defined in a single place now.
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
上级 e1888295
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include "hw/virtio/virtio-gpu.h" #include "hw/virtio/virtio-gpu.h"
static Property virtio_gpu_pci_properties[] = { static Property virtio_gpu_pci_properties[] = {
DEFINE_VIRTIO_GPU_PROPERTIES(VirtIOGPUPCI, vdev.conf),
DEFINE_VIRTIO_GPU_PCI_PROPERTIES(VirtIOPCIProxy), DEFINE_VIRTIO_GPU_PCI_PROPERTIES(VirtIOPCIProxy),
DEFINE_PROP_END_OF_LIST(), DEFINE_PROP_END_OF_LIST(),
}; };
...@@ -57,8 +56,9 @@ static void virtio_gpu_pci_class_init(ObjectClass *klass, void *data) ...@@ -57,8 +56,9 @@ static void virtio_gpu_pci_class_init(ObjectClass *klass, void *data)
static void virtio_gpu_initfn(Object *obj) static void virtio_gpu_initfn(Object *obj)
{ {
VirtIOGPUPCI *dev = VIRTIO_GPU_PCI(obj); VirtIOGPUPCI *dev = VIRTIO_GPU_PCI(obj);
object_initialize(&dev->vdev, sizeof(dev->vdev), TYPE_VIRTIO_GPU);
object_property_add_child(obj, "virtio-backend", OBJECT(&dev->vdev), NULL); virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
TYPE_VIRTIO_GPU);
} }
static const TypeInfo virtio_gpu_pci_info = { static const TypeInfo virtio_gpu_pci_info = {
......
...@@ -871,7 +871,7 @@ static void virtio_gpu_reset(VirtIODevice *vdev) ...@@ -871,7 +871,7 @@ static void virtio_gpu_reset(VirtIODevice *vdev)
} }
static Property virtio_gpu_properties[] = { static Property virtio_gpu_properties[] = {
DEFINE_VIRTIO_GPU_PROPERTIES(VirtIOGPU, conf), DEFINE_PROP_UINT32("max_outputs", VirtIOGPU, conf.max_outputs, 1),
DEFINE_PROP_END_OF_LIST(), DEFINE_PROP_END_OF_LIST(),
}; };
......
...@@ -138,7 +138,6 @@ static void virtio_vga_reset(DeviceState *dev) ...@@ -138,7 +138,6 @@ static void virtio_vga_reset(DeviceState *dev)
} }
static Property virtio_vga_properties[] = { static Property virtio_vga_properties[] = {
DEFINE_VIRTIO_GPU_PROPERTIES(VirtIOVGA, vdev.conf),
DEFINE_VIRTIO_GPU_PCI_PROPERTIES(VirtIOPCIProxy), DEFINE_VIRTIO_GPU_PCI_PROPERTIES(VirtIOPCIProxy),
DEFINE_PROP_END_OF_LIST(), DEFINE_PROP_END_OF_LIST(),
}; };
...@@ -162,8 +161,9 @@ static void virtio_vga_class_init(ObjectClass *klass, void *data) ...@@ -162,8 +161,9 @@ static void virtio_vga_class_init(ObjectClass *klass, void *data)
static void virtio_vga_inst_initfn(Object *obj) static void virtio_vga_inst_initfn(Object *obj)
{ {
VirtIOVGA *dev = VIRTIO_VGA(obj); VirtIOVGA *dev = VIRTIO_VGA(obj);
object_initialize(&dev->vdev, sizeof(dev->vdev), TYPE_VIRTIO_GPU);
object_property_add_child(obj, "virtio-backend", OBJECT(&dev->vdev), NULL); virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
TYPE_VIRTIO_GPU);
} }
static TypeInfo virtio_vga_info = { static TypeInfo virtio_vga_info = {
......
...@@ -112,9 +112,6 @@ extern const GraphicHwOps virtio_gpu_ops; ...@@ -112,9 +112,6 @@ extern const GraphicHwOps virtio_gpu_ops;
VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, false), \ VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, false), \
DEFINE_PROP_UINT32("vectors", _state, nvectors, 3) DEFINE_PROP_UINT32("vectors", _state, nvectors, 3)
#define DEFINE_VIRTIO_GPU_PROPERTIES(_state, _conf_field) \
DEFINE_PROP_UINT32("max_outputs", _state, _conf_field.max_outputs, 1)
#define VIRTIO_GPU_FILL_CMD(out) do { \ #define VIRTIO_GPU_FILL_CMD(out) do { \
size_t s; \ size_t s; \
s = iov_to_buf(cmd->elem.out_sg, cmd->elem.out_num, 0, \ s = iov_to_buf(cmd->elem.out_sg, cmd->elem.out_num, 0, \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册