From f41b6b3b4f6e9cdd37e83d98292f455ce9ead5c6 Mon Sep 17 00:00:00 2001 From: Munkyu Im Date: Wed, 23 Apr 2014 14:29:30 +0900 Subject: [PATCH] nfc: Modify virtio device init/exit Applied for qemu 2.0 Change-Id: Ia2b15b1941574741cd4e44ec035c3f6f27f57e89 Signed-off-by: Munkyu Im --- tizen/src/hw/maru_virtio_evdi.c | 2 +- tizen/src/hw/maru_virtio_nfc.c | 27 ++++++++++++--------------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/tizen/src/hw/maru_virtio_evdi.c b/tizen/src/hw/maru_virtio_evdi.c index 2df1fa3209..2158be3aca 100644 --- a/tizen/src/hw/maru_virtio_evdi.c +++ b/tizen/src/hw/maru_virtio_evdi.c @@ -224,7 +224,7 @@ static void virtio_evdi_realize(DeviceState *dev, Error **errp) vio_evdi = VIRTIO_EVDI(dev); if (vio_evdi == NULL) { ERR("failed to initialize evdi device\n"); - return; //need any guide for return value + return; } INFO("initialize evdi device\n"); diff --git a/tizen/src/hw/maru_virtio_nfc.c b/tizen/src/hw/maru_virtio_nfc.c index 08c9a64a11..e0dacd8574 100644 --- a/tizen/src/hw/maru_virtio_nfc.c +++ b/tizen/src/hw/maru_virtio_nfc.c @@ -201,38 +201,36 @@ static void maru_nfc_bh(void *opaque) flush_nfc_recv_queue(); } -static int virtio_nfc_init(VirtIODevice* vdev) +static void virtio_nfc_realize(VirtIODevice* dev, Error **errp) { - INFO("initialize nfc device\n"); + VirtIODevice *vdev = VIRTIO_DEVICE(dev); vio_nfc = VIRTIO_NFC(vdev); - - virtio_init(vdev, NFC_DEVICE_NAME, VIRTIO_ID_NFC, 0); - if (vio_nfc == NULL) { ERR("failed to initialize nfc device\n"); - return -1; + return; } + INFO("initialize nfc device\n"); + + virtio_init(vdev, NFC_DEVICE_NAME, VIRTIO_ID_NFC, 0); + vio_nfc->rvq = virtio_add_queue(&vio_nfc->vdev, 256, virtio_nfc_recv); vio_nfc->svq = virtio_add_queue(&vio_nfc->vdev, 256, virtio_nfc_send); vio_nfc->bh = qemu_bh_new(maru_nfc_bh, vio_nfc); - - return 0; } -static int virtio_nfc_exit(DeviceState* dev) +static void virtio_nfc_unrealize(DeviceState* dev, Error **errp) { - INFO("destroy nfc device\n"); VirtIODevice *vdev = VIRTIO_DEVICE(dev); + INFO("destroy nfc device\n"); + if (vio_nfc->bh) { qemu_bh_delete(vio_nfc->bh); } virtio_cleanup(vdev); - - return 0; } static void virtio_nfc_reset(VirtIODevice *vdev) @@ -243,10 +241,9 @@ static void virtio_nfc_reset(VirtIODevice *vdev) static void virtio_nfc_class_init(ObjectClass *klass, void *data) { - DeviceClass *dc = DEVICE_CLASS(klass); VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass); - dc->exit = virtio_nfc_exit; - vdc->init = virtio_nfc_init; + vdc->realize = virtio_nfc_realize; + vdc->unrealize = virtio_nfc_unrealize; vdc->get_features = virtio_nfc_get_features; vdc->reset = virtio_nfc_reset; } -- 2.34.1