summary refs log tree commit diff stats
path: root/hw/virtio-serial-bus.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2013-03-26 11:08:01 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2013-03-27 10:26:50 -0500
commitb2c1394af13b46a72cd27ff580cdd1d9bb1e8934 (patch)
tree89fa1cf29ab6b2314ead07a9ae9ea4da30b8bf18 /hw/virtio-serial-bus.c
parenta59bcd31c91397f8c67b6902e7716d626c5070e6 (diff)
downloadfocaccia-qemu-b2c1394af13b46a72cd27ff580cdd1d9bb1e8934.tar.gz
focaccia-qemu-b2c1394af13b46a72cd27ff580cdd1d9bb1e8934.zip
virtio-serial: Consolidate guest_open/guest_close into set_guest_connected
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Message-id: 1364292483-16564-10-git-send-email-hdegoede@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/virtio-serial-bus.c')
-rw-r--r--hw/virtio-serial-bus.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index ab7168ed32..eb7af21a02 100644
--- a/hw/virtio-serial-bus.c
+++ b/hw/virtio-serial-bus.c
@@ -372,14 +372,9 @@ static void handle_control_message(VirtIOSerial *vser, void *buf, size_t len)
 
     case VIRTIO_CONSOLE_PORT_OPEN:
         port->guest_connected = cpkt.value;
-        if (cpkt.value && vsc->guest_open) {
+        if (vsc->set_guest_connected) {
             /* Send the guest opened notification if an app is interested */
-            vsc->guest_open(port);
-        }
-
-        if (!cpkt.value && vsc->guest_close) {
-            /* Send the guest closed notification if an app is interested */
-            vsc->guest_close(port);
+            vsc->set_guest_connected(port, cpkt.value);
         }
         break;
     }
@@ -484,9 +479,9 @@ static void guest_reset(VirtIOSerial *vser)
         vsc = VIRTIO_SERIAL_PORT_GET_CLASS(port);
         if (port->guest_connected) {
             port->guest_connected = false;
-
-            if (vsc->guest_close)
-                vsc->guest_close(port);
+            if (vsc->set_guest_connected) {
+                vsc->set_guest_connected(port, false);
+            }
         }
     }
 }