}
}
-static void virtio_vga_base_reset(DeviceState *dev)
+static void virtio_vga_base_reset_hold(Object *obj)
{
- VirtIOVGABaseClass *klass = VIRTIO_VGA_BASE_GET_CLASS(dev);
- VirtIOVGABase *vvga = VIRTIO_VGA_BASE(dev);
+ VirtIOVGABaseClass *klass = VIRTIO_VGA_BASE_GET_CLASS(obj);
+ VirtIOVGABase *vvga = VIRTIO_VGA_BASE(obj);
/* reset virtio-gpu */
- klass->parent_reset(dev);
+ if (klass->parent_phases.hold) {
+ klass->parent_phases.hold(obj);
+ }
/* reset vga */
vga_common_reset(&vvga->vga);
VirtioPCIClass *k = VIRTIO_PCI_CLASS(klass);
VirtIOVGABaseClass *v = VIRTIO_VGA_BASE_CLASS(klass);
PCIDeviceClass *pcidev_k = PCI_DEVICE_CLASS(klass);
+ ResettableClass *rc = RESETTABLE_CLASS(klass);
set_bit(DEVICE_CATEGORY_DISPLAY, dc->categories);
device_class_set_props(dc, virtio_vga_base_properties);
dc->vmsd = &vmstate_virtio_vga_base;
dc->hotpluggable = false;
- device_class_set_parent_reset(dc, virtio_vga_base_reset,
- &v->parent_reset);
+ resettable_class_set_parent_phases(rc, NULL, virtio_vga_base_reset_hold,
+ NULL, &v->parent_phases);
k->realize = virtio_vga_base_realize;
pcidev_k->romfile = "vgabios-virtio.bin";