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: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									e18882952e
								
							
						
					
					
						commit
						b3409a3100
					
				@ -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)
 | 
				
			|||||||
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)
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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)
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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)
 | 
				
			|||||||
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;
 | 
				
			|||||||
                    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,          \
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user