Skip to content

Commit

Permalink
virtio-9p: move unrealize/realize after virtio_9p_transport definition
Browse files Browse the repository at this point in the history
And drop the now useless forward declaration of virtio_9p_transport.

Signed-off-by: Greg Kurz <groug@kaod.org>
  • Loading branch information
gkurz committed Jan 8, 2018
1 parent 8671016 commit bd3be4d
Showing 1 changed file with 29 additions and 31 deletions.
60 changes: 29 additions & 31 deletions hw/9pfs/virtio-9p-device.c
Expand Up @@ -20,8 +20,6 @@
#include "hw/virtio/virtio-access.h"
#include "qemu/iov.h"

static const struct V9fsTransport virtio_9p_transport;

static void virtio_9p_push_and_notify(V9fsPDU *pdu)
{
V9fsState *s = pdu->s;
Expand Down Expand Up @@ -104,35 +102,6 @@ static void virtio_9p_get_config(VirtIODevice *vdev, uint8_t *config)
g_free(cfg);
}

static void virtio_9p_device_realize(DeviceState *dev, Error **errp)
{
VirtIODevice *vdev = VIRTIO_DEVICE(dev);
V9fsVirtioState *v = VIRTIO_9P(dev);
V9fsState *s = &v->state;

if (v9fs_device_realize_common(s, errp)) {
goto out;
}

v->config_size = sizeof(struct virtio_9p_config) + strlen(s->fsconf.tag);
virtio_init(vdev, "virtio-9p", VIRTIO_ID_9P, v->config_size);
v->vq = virtio_add_queue(vdev, MAX_REQ, handle_9p_output);
v9fs_register_transport(s, &virtio_9p_transport);

out:
return;
}

static void virtio_9p_device_unrealize(DeviceState *dev, Error **errp)
{
VirtIODevice *vdev = VIRTIO_DEVICE(dev);
V9fsVirtioState *v = VIRTIO_9P(dev);
V9fsState *s = &v->state;

virtio_cleanup(vdev);
v9fs_device_unrealize_common(s, errp);
}

static void virtio_9p_reset(VirtIODevice *vdev)
{
V9fsVirtioState *v = (V9fsVirtioState *)vdev;
Expand Down Expand Up @@ -223,6 +192,35 @@ static const struct V9fsTransport virtio_9p_transport = {
.push_and_notify = virtio_9p_push_and_notify,
};

static void virtio_9p_device_realize(DeviceState *dev, Error **errp)
{
VirtIODevice *vdev = VIRTIO_DEVICE(dev);
V9fsVirtioState *v = VIRTIO_9P(dev);
V9fsState *s = &v->state;

if (v9fs_device_realize_common(s, errp)) {
goto out;
}

v->config_size = sizeof(struct virtio_9p_config) + strlen(s->fsconf.tag);
virtio_init(vdev, "virtio-9p", VIRTIO_ID_9P, v->config_size);
v->vq = virtio_add_queue(vdev, MAX_REQ, handle_9p_output);
v9fs_register_transport(s, &virtio_9p_transport);

out:
return;
}

static void virtio_9p_device_unrealize(DeviceState *dev, Error **errp)
{
VirtIODevice *vdev = VIRTIO_DEVICE(dev);
V9fsVirtioState *v = VIRTIO_9P(dev);
V9fsState *s = &v->state;

virtio_cleanup(vdev);
v9fs_device_unrealize_common(s, errp);
}

/* virtio-9p device */

static const VMStateDescription vmstate_virtio_9p = {
Expand Down

0 comments on commit bd3be4d

Please sign in to comment.