Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
  virtio: console: Update Copyright
  virtio: console: Wake up outvq on host notifications
This commit is contained in:
Linus Torvalds 2011-02-09 11:51:40 -08:00
commit d3d373e0e3
2 changed files with 17 additions and 4 deletions

View File

@ -1,6 +1,7 @@
/* /*
* Copyright (C) 2006, 2007, 2009 Rusty Russell, IBM Corporation * Copyright (C) 2006, 2007, 2009 Rusty Russell, IBM Corporation
* Copyright (C) 2009, 2010 Red Hat, Inc. * Copyright (C) 2009, 2010, 2011 Red Hat, Inc.
* Copyright (C) 2009, 2010, 2011 Amit Shah <amit.shah@redhat.com>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -1462,6 +1463,17 @@ static void control_work_handler(struct work_struct *work)
spin_unlock(&portdev->cvq_lock); spin_unlock(&portdev->cvq_lock);
} }
static void out_intr(struct virtqueue *vq)
{
struct port *port;
port = find_port_by_vq(vq->vdev->priv, vq);
if (!port)
return;
wake_up_interruptible(&port->waitqueue);
}
static void in_intr(struct virtqueue *vq) static void in_intr(struct virtqueue *vq)
{ {
struct port *port; struct port *port;
@ -1566,7 +1578,7 @@ static int init_vqs(struct ports_device *portdev)
*/ */
j = 0; j = 0;
io_callbacks[j] = in_intr; io_callbacks[j] = in_intr;
io_callbacks[j + 1] = NULL; io_callbacks[j + 1] = out_intr;
io_names[j] = "input"; io_names[j] = "input";
io_names[j + 1] = "output"; io_names[j + 1] = "output";
j += 2; j += 2;
@ -1580,7 +1592,7 @@ static int init_vqs(struct ports_device *portdev)
for (i = 1; i < nr_ports; i++) { for (i = 1; i < nr_ports; i++) {
j += 2; j += 2;
io_callbacks[j] = in_intr; io_callbacks[j] = in_intr;
io_callbacks[j + 1] = NULL; io_callbacks[j + 1] = out_intr;
io_names[j] = "input"; io_names[j] = "input";
io_names[j + 1] = "output"; io_names[j + 1] = "output";
} }

View File

@ -7,7 +7,8 @@
* This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so * This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so
* anyone can use the definitions to implement compatible drivers/servers. * anyone can use the definitions to implement compatible drivers/servers.
* *
* Copyright (C) Red Hat, Inc., 2009, 2010 * Copyright (C) Red Hat, Inc., 2009, 2010, 2011
* Copyright (C) Amit Shah <amit.shah@redhat.com>, 2009, 2010, 2011
*/ */
/* Feature bits */ /* Feature bits */