diff options
Diffstat (limited to 'drivers/usb/gadget/serial.c')
-rw-r--r-- | drivers/usb/gadget/serial.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c index 9d6e1d295528..b893e3118e1b 100644 --- a/drivers/usb/gadget/serial.c +++ b/drivers/usb/gadget/serial.c | |||
@@ -17,7 +17,6 @@ | |||
17 | * | 17 | * |
18 | */ | 18 | */ |
19 | 19 | ||
20 | #include <linux/config.h> | ||
21 | #include <linux/module.h> | 20 | #include <linux/module.h> |
22 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
23 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
@@ -588,12 +587,11 @@ static int __init gs_module_init(void) | |||
588 | gs_tty_driver->owner = THIS_MODULE; | 587 | gs_tty_driver->owner = THIS_MODULE; |
589 | gs_tty_driver->driver_name = GS_SHORT_NAME; | 588 | gs_tty_driver->driver_name = GS_SHORT_NAME; |
590 | gs_tty_driver->name = "ttygs"; | 589 | gs_tty_driver->name = "ttygs"; |
591 | gs_tty_driver->devfs_name = "usb/ttygs/"; | ||
592 | gs_tty_driver->major = GS_MAJOR; | 590 | gs_tty_driver->major = GS_MAJOR; |
593 | gs_tty_driver->minor_start = GS_MINOR_START; | 591 | gs_tty_driver->minor_start = GS_MINOR_START; |
594 | gs_tty_driver->type = TTY_DRIVER_TYPE_SERIAL; | 592 | gs_tty_driver->type = TTY_DRIVER_TYPE_SERIAL; |
595 | gs_tty_driver->subtype = SERIAL_TYPE_NORMAL; | 593 | gs_tty_driver->subtype = SERIAL_TYPE_NORMAL; |
596 | gs_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; | 594 | gs_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV; |
597 | gs_tty_driver->init_termios = tty_std_termios; | 595 | gs_tty_driver->init_termios = tty_std_termios; |
598 | gs_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 596 | gs_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
599 | tty_set_operations(gs_tty_driver, &gs_tty_ops); | 597 | tty_set_operations(gs_tty_driver, &gs_tty_ops); |
@@ -1122,12 +1120,15 @@ static int gs_send(struct gs_dev *dev) | |||
1122 | gs_debug_level(3, "gs_send: len=%d, 0x%2.2x 0x%2.2x 0x%2.2x ...\n", len, *((unsigned char *)req->buf), *((unsigned char *)req->buf+1), *((unsigned char *)req->buf+2)); | 1120 | gs_debug_level(3, "gs_send: len=%d, 0x%2.2x 0x%2.2x 0x%2.2x ...\n", len, *((unsigned char *)req->buf), *((unsigned char *)req->buf+1), *((unsigned char *)req->buf+2)); |
1123 | list_del(&req_entry->re_entry); | 1121 | list_del(&req_entry->re_entry); |
1124 | req->length = len; | 1122 | req->length = len; |
1123 | spin_unlock_irqrestore(&dev->dev_lock, flags); | ||
1125 | if ((ret=usb_ep_queue(ep, req, GFP_ATOMIC))) { | 1124 | if ((ret=usb_ep_queue(ep, req, GFP_ATOMIC))) { |
1126 | printk(KERN_ERR | 1125 | printk(KERN_ERR |
1127 | "gs_send: cannot queue read request, ret=%d\n", | 1126 | "gs_send: cannot queue read request, ret=%d\n", |
1128 | ret); | 1127 | ret); |
1128 | spin_lock_irqsave(&dev->dev_lock, flags); | ||
1129 | break; | 1129 | break; |
1130 | } | 1130 | } |
1131 | spin_lock_irqsave(&dev->dev_lock, flags); | ||
1131 | } else { | 1132 | } else { |
1132 | break; | 1133 | break; |
1133 | } | 1134 | } |
@@ -1475,7 +1476,7 @@ autoconf_fail: | |||
1475 | * Called on module unload. Frees the control request and device | 1476 | * Called on module unload. Frees the control request and device |
1476 | * structure. | 1477 | * structure. |
1477 | */ | 1478 | */ |
1478 | static void __exit gs_unbind(struct usb_gadget *gadget) | 1479 | static void /* __init_or_exit */ gs_unbind(struct usb_gadget *gadget) |
1479 | { | 1480 | { |
1480 | struct gs_dev *dev = get_gadget_data(gadget); | 1481 | struct gs_dev *dev = get_gadget_data(gadget); |
1481 | 1482 | ||