[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V3 20/44] virtio-scsi: cleanup: use QOM casts.
From: |
fred . konrad |
Subject: |
[Qemu-devel] [PATCH V3 20/44] virtio-scsi: cleanup: use QOM casts. |
Date: |
Tue, 15 Jan 2013 15:09:34 +0100 |
From: KONRAD Frederic <address@hidden>
As the virtio-scsi-pci and virtio-scsi-s390 are switched to the new API,
we can use QOM casts.
Signed-off-by: KONRAD Frederic <address@hidden>
---
hw/virtio-scsi.c | 46 ++++++++++++++++++++++++++--------------------
hw/virtio-scsi.h | 2 +-
2 files changed, 27 insertions(+), 21 deletions(-)
diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c
index 0e25c5b..1c6715c 100644
--- a/hw/virtio-scsi.c
+++ b/hw/virtio-scsi.c
@@ -171,6 +171,7 @@ static void virtio_scsi_complete_req(VirtIOSCSIReq *req)
{
VirtIOSCSI *s = req->dev;
VirtQueue *vq = req->vq;
+ VirtIODevice *vdev = VIRTIO_DEVICE(s);
virtqueue_push(vq, &req->elem, req->qsgl.size +
req->elem.in_sg[0].iov_len);
qemu_sglist_destroy(&req->qsgl);
if (req->sreq) {
@@ -178,7 +179,7 @@ static void virtio_scsi_complete_req(VirtIOSCSIReq *req)
scsi_req_unref(req->sreq);
}
g_free(req);
- virtio_notify(&s->vdev, vq);
+ virtio_notify(vdev, vq);
}
static void virtio_scsi_bad_req(void)
@@ -565,16 +566,16 @@ static void virtio_scsi_reset(VirtIODevice *vdev)
*/
static void virtio_scsi_save(QEMUFile *f, void *opaque)
{
- VirtIOSCSI *s = opaque;
- virtio_save(&s->vdev, f);
+ VirtIODevice *vdev = VIRTIO_DEVICE(opaque);
+ virtio_save(vdev, f);
}
static int virtio_scsi_load(QEMUFile *f, void *opaque, int version_id)
{
- VirtIOSCSI *s = opaque;
+ VirtIODevice *vdev = VIRTIO_DEVICE(opaque);
int ret;
- ret = virtio_load(&s->vdev, f);
+ ret = virtio_load(vdev, f);
if (ret) {
return ret;
}
@@ -586,9 +587,10 @@ static void virtio_scsi_push_event(VirtIOSCSI *s,
SCSIDevice *dev,
{
VirtIOSCSIReq *req = virtio_scsi_pop_req(s, s->event_vq);
VirtIOSCSIEvent *evt;
+ VirtIODevice *vdev = VIRTIO_DEVICE(s);
int in_size;
- if (!(s->vdev.status & VIRTIO_CONFIG_S_DRIVER_OK)) {
+ if (!(vdev->status & VIRTIO_CONFIG_S_DRIVER_OK)) {
return;
}
@@ -632,7 +634,7 @@ static void virtio_scsi_push_event(VirtIOSCSI *s,
SCSIDevice *dev,
static void virtio_scsi_handle_event(VirtIODevice *vdev, VirtQueue *vq)
{
- VirtIOSCSI *s = (VirtIOSCSI *)vdev;
+ VirtIOSCSI *s = VIRTIO_SCSI(vdev);
if (s->events_dropped) {
virtio_scsi_push_event(s, NULL, VIRTIO_SCSI_T_NO_EVENT, 0);
@@ -642,8 +644,9 @@ static void virtio_scsi_handle_event(VirtIODevice *vdev,
VirtQueue *vq)
static void virtio_scsi_change(SCSIBus *bus, SCSIDevice *dev, SCSISense sense)
{
VirtIOSCSI *s = container_of(bus, VirtIOSCSI, bus);
+ VirtIODevice *vdev = VIRTIO_DEVICE(s);
- if (((s->vdev.guest_features >> VIRTIO_SCSI_F_CHANGE) & 1) &&
+ if (((vdev->guest_features >> VIRTIO_SCSI_F_CHANGE) & 1) &&
dev->type != TYPE_ROM) {
virtio_scsi_push_event(s, dev, VIRTIO_SCSI_T_PARAM_CHANGE,
sense.asc | (sense.ascq << 8));
@@ -653,8 +656,9 @@ static void virtio_scsi_change(SCSIBus *bus, SCSIDevice
*dev, SCSISense sense)
static void virtio_scsi_hotplug(SCSIBus *bus, SCSIDevice *dev)
{
VirtIOSCSI *s = container_of(bus, VirtIOSCSI, bus);
+ VirtIODevice *vdev = VIRTIO_DEVICE(s);
- if ((s->vdev.guest_features >> VIRTIO_SCSI_F_HOTPLUG) & 1) {
+ if ((vdev->guest_features >> VIRTIO_SCSI_F_HOTPLUG) & 1) {
virtio_scsi_push_event(s, dev, VIRTIO_SCSI_T_TRANSPORT_RESET,
VIRTIO_SCSI_EVT_RESET_RESCAN);
}
@@ -663,8 +667,9 @@ static void virtio_scsi_hotplug(SCSIBus *bus, SCSIDevice
*dev)
static void virtio_scsi_hot_unplug(SCSIBus *bus, SCSIDevice *dev)
{
VirtIOSCSI *s = container_of(bus, VirtIOSCSI, bus);
+ VirtIODevice *vdev = VIRTIO_DEVICE(s);
- if ((s->vdev.guest_features >> VIRTIO_SCSI_F_HOTPLUG) & 1) {
+ if ((vdev->guest_features >> VIRTIO_SCSI_F_HOTPLUG) & 1) {
virtio_scsi_push_event(s, dev, VIRTIO_SCSI_T_TRANSPORT_RESET,
VIRTIO_SCSI_EVT_RESET_REMOVED);
}
@@ -697,6 +702,7 @@ static VirtIODevice *virtio_scsi_common_init(DeviceState
*dev,
VirtIOSCSI **ps)
{
VirtIOSCSI *s = *ps;
+ VirtIODevice *vdev = VIRTIO_DEVICE(s);
static int virtio_scsi_id;
int i;
@@ -722,17 +728,17 @@ static VirtIODevice *virtio_scsi_common_init(DeviceState
*dev,
memcpy(&(s->conf), proxyconf, sizeof(struct VirtIOSCSIConf));
/* TODO set up vdev function pointers */
- s->vdev.get_config = virtio_scsi_get_config;
- s->vdev.set_config = virtio_scsi_set_config;
- s->vdev.get_features = virtio_scsi_get_features;
- s->vdev.reset = virtio_scsi_reset;
-
- s->ctrl_vq = virtio_add_queue(&s->vdev, VIRTIO_SCSI_VQ_SIZE,
- virtio_scsi_handle_ctrl);
- s->event_vq = virtio_add_queue(&s->vdev, VIRTIO_SCSI_VQ_SIZE,
+ vdev->get_config = virtio_scsi_get_config;
+ vdev->set_config = virtio_scsi_set_config;
+ vdev->get_features = virtio_scsi_get_features;
+ vdev->reset = virtio_scsi_reset;
+
+ s->ctrl_vq = virtio_add_queue(vdev, VIRTIO_SCSI_VQ_SIZE,
+ virtio_scsi_handle_ctrl);
+ s->event_vq = virtio_add_queue(vdev, VIRTIO_SCSI_VQ_SIZE,
virtio_scsi_handle_event);
for (i = 0; i < s->conf.num_queues; i++) {
- s->cmd_vqs[i] = virtio_add_queue(&s->vdev, VIRTIO_SCSI_VQ_SIZE,
+ s->cmd_vqs[i] = virtio_add_queue(vdev, VIRTIO_SCSI_VQ_SIZE,
virtio_scsi_handle_cmd);
}
@@ -744,7 +750,7 @@ static VirtIODevice *virtio_scsi_common_init(DeviceState
*dev,
register_savevm(dev, "virtio-scsi", virtio_scsi_id++, 1,
virtio_scsi_save, virtio_scsi_load, s);
- return &s->vdev;
+ return vdev;
}
VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *proxyconf)
diff --git a/hw/virtio-scsi.h b/hw/virtio-scsi.h
index ad2fee9..7d7dd7f 100644
--- a/hw/virtio-scsi.h
+++ b/hw/virtio-scsi.h
@@ -38,7 +38,7 @@ struct VirtIOSCSIConf {
};
typedef struct VirtIOSCSI {
- VirtIODevice vdev;
+ VirtIODevice parent_obj;
DeviceState *qdev;
VirtIOSCSIConf conf;
--
1.7.11.7
- [Qemu-devel] [PATCH V3 23/44] virtio-balloon: add the virtio-balloon device., (continued)
- [Qemu-devel] [PATCH V3 23/44] virtio-balloon: add the virtio-balloon device., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 28/44] virtio-rng: don't use pointer for configuration., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 25/44] virtio-balloon: cleanup: init and exit function., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 16/44] virtio-scsi: moving host_features from properties to transport properties., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 37/44] virtio-serial-s390: switch to the new API., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 38/44] virtio-serial: cleanup: init and exit functions., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 17/44] virtio-scsi: add the virtio-scsi device., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 31/44] virtio-rng-pci: switch to the new API., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 22/44] virtio-scsi: cleanup: remove qdev field., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 40/44] virtio-serial: cleanup: remove qdev field., fred . konrad, 2013/01/15
- [Qemu-devel] [PATCH V3 20/44] virtio-scsi: cleanup: use QOM casts.,
fred . konrad <=