summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorKONRAD Frederic <fred.konrad@greensocs.com>2013-03-21 15:15:19 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2013-03-26 09:26:36 -0500
commit763684befd34461371c2d2188655b69e4d93a5db (patch)
tree5917e3c4c6871ceb686d768da73787377418237e /hw
parent0ac8e139274245320b1c56f6e9ec9318c2da963a (diff)
downloadqemu-763684befd34461371c2d2188655b69e4d93a5db.tar.gz
virtio-scsi: cleanup: init and exit functions.
This remove old init and exit function as they are no longer needed. Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com> Message-id: 1363875320-7985-10-git-send-email-fred.konrad@greensocs.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/virtio-scsi.c60
1 files changed, 10 insertions, 50 deletions
diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c
index c341d24a0c..96e36885f9 100644
--- a/hw/virtio-scsi.c
+++ b/hw/virtio-scsi.c
@@ -692,35 +692,19 @@ static struct SCSIBusInfo virtio_scsi_scsi_info = {
.load_request = virtio_scsi_load_request,
};
-static VirtIODevice *virtio_scsi_common_init(DeviceState *dev,
- VirtIOSCSIConf *proxyconf,
- VirtIOSCSI **ps)
+static int virtio_scsi_device_init(VirtIODevice *vdev)
{
- VirtIOSCSI *s = *ps;
- VirtIODevice *vdev = VIRTIO_DEVICE(s);
+ DeviceState *qdev = DEVICE(vdev);
+ VirtIOSCSI *s = VIRTIO_SCSI(vdev);
static int virtio_scsi_id;
int i;
- /*
- * We have two cases here: the old virtio-scsi-pci device, and the
- * refactored virtio-scsi.
- */
+ virtio_init(VIRTIO_DEVICE(s), "virtio-scsi", VIRTIO_ID_SCSI,
+ sizeof(VirtIOSCSIConfig));
- if (s == NULL) {
- /* virtio-scsi-pci */
- s = (VirtIOSCSI *)virtio_common_init("virtio-scsi", VIRTIO_ID_SCSI,
- sizeof(VirtIOSCSIConfig),
- sizeof(VirtIOSCSI));
- } else {
- /* virtio-scsi */
- virtio_init(VIRTIO_DEVICE(s), "virtio-scsi", VIRTIO_ID_SCSI,
- sizeof(VirtIOSCSIConfig));
- }
+ s->cmd_vqs = g_malloc0(s->conf.num_queues * sizeof(VirtQueue *));
- s->cmd_vqs = g_malloc0(proxyconf->num_queues * sizeof(VirtQueue *));
-
- s->qdev = dev;
- s->conf = *proxyconf;
+ s->qdev = qdev;
/* TODO set up vdev function pointers */
vdev->get_config = virtio_scsi_get_config;
@@ -737,38 +721,14 @@ static VirtIODevice *virtio_scsi_common_init(DeviceState *dev,
virtio_scsi_handle_cmd);
}
- scsi_bus_new(&s->bus, dev, &virtio_scsi_scsi_info);
- if (!dev->hotplugged) {
+ scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info);
+ if (!qdev->hotplugged) {
scsi_bus_legacy_handle_cmdline(&s->bus);
}
- register_savevm(dev, "virtio-scsi", virtio_scsi_id++, 1,
+ register_savevm(qdev, "virtio-scsi", virtio_scsi_id++, 1,
virtio_scsi_save, virtio_scsi_load, s);
- return vdev;
-}
-
-VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *proxyconf)
-{
- VirtIOSCSI *s = NULL;
- return virtio_scsi_common_init(dev, proxyconf, &s);
-}
-
-void virtio_scsi_exit(VirtIODevice *vdev)
-{
- VirtIOSCSI *s = (VirtIOSCSI *)vdev;
- unregister_savevm(s->qdev, "virtio-scsi", s);
- g_free(s->cmd_vqs);
- virtio_cleanup(vdev);
-}
-
-static int virtio_scsi_device_init(VirtIODevice *vdev)
-{
- DeviceState *qdev = DEVICE(vdev);
- VirtIOSCSI *s = VIRTIO_SCSI(vdev);
- if (virtio_scsi_common_init(qdev, &(s->conf), &s) == NULL) {
- return -1;
- }
return 0;
}