dm: virtio-input: implement virtio_input_deinit

All related resources are freed in virtio_input_deinit.

Signed-off-by: Jian Jun Chen <jian.jun.chen@intel.com>
Reviewed-by: Yin Fengwei <fengwei.yin@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Hao Li <hao.l.li@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Jian Jun Chen 2018-04-16 10:35:58 +08:00 committed by Jack Ren
parent 181ff20bcb
commit 919aa3d374
1 changed files with 18 additions and 1 deletions

View File

@ -691,7 +691,24 @@ fail:
static void static void
virtio_input_deinit(struct vmctx *ctx, struct pci_vdev *dev, char *opts) virtio_input_deinit(struct vmctx *ctx, struct pci_vdev *dev, char *opts)
{ {
/* to be implemented */ struct virtio_input *vi;
vi = (struct virtio_input *)dev->arg;
if (vi) {
pthread_mutex_destroy(&vi->mtx);
if (vi->event_queue)
free(vi->event_queue);
if (vi->mevp)
mevent_delete(vi->mevp);
if (vi->fd > 0)
close(vi->fd);
if (vi->evdev)
free(vi->evdev);
if (vi->serial)
free(vi->serial);
free(vi);
vi = NULL;
}
} }
struct pci_vdev_ops pci_ops_virtio_input = { struct pci_vdev_ops pci_ops_virtio_input = {