Add device function for USB serial console
Kevin Hao [Fri, 2 Jan 2009 13:44:34 +0000 (13:44 +0000)]
Add device funtion for usb serial console, so we can open /dev/console
when we use a usb serial device as console.

(Typecast removed as noted by Sergei Shtylyov)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

drivers/usb/serial/console.c

index 5b95009..19e2404 100644 (file)
@@ -241,12 +241,25 @@ static void usb_console_write(struct console *co,
        }
 }
 
+static struct tty_driver *usb_console_device(struct console *co, int *index)
+{
+       struct tty_driver **p = (struct tty_driver **)co->data;
+
+       if (!*p)
+               return NULL;
+
+       *index = co->index;
+       return *p;
+}
+
 static struct console usbcons = {
        .name =         "ttyUSB",
        .write =        usb_console_write,
+       .device =       usb_console_device,
        .setup =        usb_console_setup,
        .flags =        CON_PRINTBUFFER,
        .index =        -1,
+       .data =         &usb_serial_tty_driver,
 };
 
 void usb_serial_console_disconnect(struct usb_serial *serial)