[Spice-devel] [PATCH] spice-vmc: add a reset handler used to unregister spice interface (and trigger server mouse)

Alon Levy alevy at redhat.com
Thu Sep 16 11:28:42 PDT 2010


I remember sending this a while back, but no ACK or NACK.

 It's v2, fixed to use qdev.reset.

Alon

---
 hw/spice-vmc.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/hw/spice-vmc.c b/hw/spice-vmc.c
index b9c5eb6..451b6c4 100644
--- a/hw/spice-vmc.c
+++ b/hw/spice-vmc.c
@@ -190,6 +190,15 @@ static void vmc_print_optional_subtypes(void)
     fprintf(stderr, "\n");
 }
 
+static void vmc_reset(DeviceState *opaque)
+{
+    VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, opaque);
+    SpiceVirtualChannel *svc = DO_UPCAST(SpiceVirtualChannel, port, port);
+
+    dprintf(svc, 1, "%s\n", __func__);
+    vmc_unregister_interface(svc);
+}
+
 static int vmc_initfn(VirtIOSerialDevice *dev)
 {
     VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, &dev->qdev);
@@ -241,6 +250,7 @@ static int vmc_exitfn(VirtIOSerialDevice *dev)
 static VirtIOSerialPortInfo vmc_info = {
     .qdev.name     = VMC_DEVICE_NAME,
     .qdev.size     = sizeof(SpiceVirtualChannel),
+    .qdev.reset    = vmc_reset,
     .init          = vmc_initfn,
     .exit          = vmc_exitfn,
     .guest_open    = vmc_guest_open,
-- 
1.7.2.3



More information about the Spice-devel mailing list