]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
virtio: console: Add a __send_control_msg() that can send messages without a valid...
authorAmit Shah <amit.shah@redhat.com>
Thu, 20 May 2010 04:15:46 +0000 (22:15 -0600)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 19 May 2010 12:45:46 +0000 (22:15 +0930)
We will introduce control messages that operate on the device as a whole
rather than just ports. Make send_control_msg() a wrapper around
__send_control_msg() which does not need a valid port.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
drivers/char/virtio_console.c

index e53c52b904fb0a2ab86d0d3b382e9d4a67219259..8c24b86aadc9f4ca4dc660b8409e04dc09547885 100644 (file)
@@ -374,22 +374,22 @@ out:
        return ret;
 }
 
-static ssize_t send_control_msg(struct port *port, unsigned int event,
-                               unsigned int value)
+static ssize_t __send_control_msg(struct ports_device *portdev, u32 port_id,
+                                 unsigned int event, unsigned int value)
 {
        struct scatterlist sg[1];
        struct virtio_console_control cpkt;
        struct virtqueue *vq;
        unsigned int len;
 
-       if (!use_multiport(port->portdev))
+       if (!use_multiport(portdev))
                return 0;
 
-       cpkt.id = port->id;
+       cpkt.id = port_id;
        cpkt.event = event;
        cpkt.value = value;
 
-       vq = port->portdev->c_ovq;
+       vq = portdev->c_ovq;
 
        sg_init_one(sg, &cpkt, sizeof(cpkt));
        if (virtqueue_add_buf(vq, sg, 1, 0, &cpkt) >= 0) {
@@ -400,6 +400,12 @@ static ssize_t send_control_msg(struct port *port, unsigned int event,
        return 0;
 }
 
+static ssize_t send_control_msg(struct port *port, unsigned int event,
+                               unsigned int value)
+{
+       return __send_control_msg(port->portdev, port->id, event, value);
+}
+
 static ssize_t send_buf(struct port *port, void *in_buf, size_t in_count)
 {
        struct scatterlist sg[1];