diff options
author | Kevin Hao <kexin.hao@windriver.com> | 2009-01-02 08:44:34 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-02 13:19:38 -0500 |
commit | 39efd191d01b5f1efc3d604baf74233dc525e6a8 (patch) | |
tree | 9623a3daa6e136429319008f278e109f016a1ee3 /drivers/usb/serial | |
parent | 975a1a7d887048d4afc9201383e11b7af991866b (diff) |
Add device function for USB serial console
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>
Diffstat (limited to 'drivers/usb/serial')
-rw-r--r-- | drivers/usb/serial/console.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/usb/serial/console.c b/drivers/usb/serial/console.c index 5b95009d2fbb..19e24045b137 100644 --- a/drivers/usb/serial/console.c +++ b/drivers/usb/serial/console.c | |||
@@ -241,12 +241,25 @@ static void usb_console_write(struct console *co, | |||
241 | } | 241 | } |
242 | } | 242 | } |
243 | 243 | ||
244 | static struct tty_driver *usb_console_device(struct console *co, int *index) | ||
245 | { | ||
246 | struct tty_driver **p = (struct tty_driver **)co->data; | ||
247 | |||
248 | if (!*p) | ||
249 | return NULL; | ||
250 | |||
251 | *index = co->index; | ||
252 | return *p; | ||
253 | } | ||
254 | |||
244 | static struct console usbcons = { | 255 | static struct console usbcons = { |
245 | .name = "ttyUSB", | 256 | .name = "ttyUSB", |
246 | .write = usb_console_write, | 257 | .write = usb_console_write, |
258 | .device = usb_console_device, | ||
247 | .setup = usb_console_setup, | 259 | .setup = usb_console_setup, |
248 | .flags = CON_PRINTBUFFER, | 260 | .flags = CON_PRINTBUFFER, |
249 | .index = -1, | 261 | .index = -1, |
262 | .data = &usb_serial_tty_driver, | ||
250 | }; | 263 | }; |
251 | 264 | ||
252 | void usb_serial_console_disconnect(struct usb_serial *serial) | 265 | void usb_serial_console_disconnect(struct usb_serial *serial) |