Commit 0ba94b6f authored by Andreas Färber's avatar Andreas Färber Committed by Paolo Bonzini
Browse files

virtio: Complete converting VirtioDevice to QOM realize



Drop VirtioDeviceClass::init.

Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 71a6520b
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -642,8 +642,7 @@ static void virtio_scsi_device_realize(DeviceState *dev, Error **errp)

void virtio_scsi_common_exit(VirtIOSCSICommon *vs)
{
    VirtIODevice *vdev = VIRTIO_DEVICE(dev);
    VirtIOSCSICommon *vs = VIRTIO_SCSI_COMMON(dev);
    VirtIODevice *vdev = VIRTIO_DEVICE(vs);

    g_free(vs->cmd_vqs);
    virtio_cleanup(vdev);
+0 −6
Original line number Diff line number Diff line
@@ -1156,18 +1156,12 @@ static void virtio_device_realize(DeviceState *dev, Error **errp)
    VirtioDeviceClass *vdc = VIRTIO_DEVICE_GET_CLASS(dev);
    Error *err = NULL;

    assert(vdc->init != NULL || vdc->realize != NULL);
    if (vdc->realize != NULL) {
        vdc->realize(dev, &err);
        if (err != NULL) {
            error_propagate(errp, err);
            return;
        }
    } else {
        if (vdc->init(vdev) < 0) {
            error_setg(errp, "Device initialization failed.");
            return;
        }
    }
    virtio_bus_device_plugged(vdev);
}
+3 −2
Original line number Diff line number Diff line
@@ -124,12 +124,13 @@ struct VirtIODevice
};

typedef struct VirtioDeviceClass {
    /*< private >*/
    DeviceClass parent;
    /*< public >*/

    /* This is what a VirtioDevice must implement */
    int (*init)(VirtIODevice *vdev);
    void (*exit)(VirtIODevice *vdev);
    DeviceRealize realize;
    void (*exit)(VirtIODevice *vdev);
    uint32_t (*get_features)(VirtIODevice *vdev, uint32_t requested_features);
    uint32_t (*bad_features)(VirtIODevice *vdev);
    void (*set_features)(VirtIODevice *vdev, uint32_t val);