+
+static int virtio_blk_pci_init(VirtIOPCIProxy *vpci_dev)
+{
+ VirtIOBlkPCI *dev = VIRTIO_BLK_PCI(vpci_dev);
+ virtio_blk_set_conf(dev->vdev, &(dev->blk));
+ qdev_set_parent_bus(dev->vdev, BUS(vpci_dev->bus));
+ if (qdev_init(dev->vdev) < 0) {
+ return -1;
+ }
+ return 0;
+}
+static void virtio_blk_pci_instance_init(Object *obj)
+{
+ VirtIOBlkPCI *dev = VIRTIO_BLK_PCI(obj);
+ dev->vdev = DEVICE(object_new("virtio-blk"));
+ object_property_add_child(obj, "virtio-backend", OBJECT(dev->vdev), NULL);
+}