aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/ftdi_sio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/serial/ftdi_sio.c')
-rw-r--r--drivers/usb/serial/ftdi_sio.c26
1 files changed, 9 insertions, 17 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index f770415305f8..615cf2c4915c 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -857,7 +857,6 @@ static struct usb_driver ftdi_driver = {
857 .probe = usb_serial_probe, 857 .probe = usb_serial_probe,
858 .disconnect = usb_serial_disconnect, 858 .disconnect = usb_serial_disconnect,
859 .id_table = id_table_combined, 859 .id_table = id_table_combined,
860 .no_dynamic_id = 1,
861}; 860};
862 861
863static const char *ftdi_chip_name[] = { 862static const char *ftdi_chip_name[] = {
@@ -915,7 +914,6 @@ static struct usb_serial_driver ftdi_sio_device = {
915 .name = "ftdi_sio", 914 .name = "ftdi_sio",
916 }, 915 },
917 .description = "FTDI USB Serial Device", 916 .description = "FTDI USB Serial Device",
918 .usb_driver = &ftdi_driver,
919 .id_table = id_table_combined, 917 .id_table = id_table_combined,
920 .num_ports = 1, 918 .num_ports = 1,
921 .bulk_in_size = 512, 919 .bulk_in_size = 512,
@@ -938,6 +936,10 @@ static struct usb_serial_driver ftdi_sio_device = {
938 .break_ctl = ftdi_break_ctl, 936 .break_ctl = ftdi_break_ctl,
939}; 937};
940 938
939static struct usb_serial_driver * const serial_drivers[] = {
940 &ftdi_sio_device, NULL
941};
942
941 943
942#define WDR_TIMEOUT 5000 /* default urb timeout */ 944#define WDR_TIMEOUT 5000 /* default urb timeout */
943#define WDR_SHORT_TIMEOUT 1000 /* shorter urb timeout */ 945#define WDR_SHORT_TIMEOUT 1000 /* shorter urb timeout */
@@ -2420,19 +2422,10 @@ static int __init ftdi_init(void)
2420 id_table_combined[i].idVendor = vendor; 2422 id_table_combined[i].idVendor = vendor;
2421 id_table_combined[i].idProduct = product; 2423 id_table_combined[i].idProduct = product;
2422 } 2424 }
2423 retval = usb_serial_register(&ftdi_sio_device); 2425 retval = usb_serial_register_drivers(&ftdi_driver, serial_drivers);
2424 if (retval) 2426 if (retval == 0)
2425 goto failed_sio_register; 2427 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
2426 retval = usb_register(&ftdi_driver); 2428 DRIVER_DESC "\n");
2427 if (retval)
2428 goto failed_usb_register;
2429
2430 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
2431 DRIVER_DESC "\n");
2432 return 0;
2433failed_usb_register:
2434 usb_serial_deregister(&ftdi_sio_device);
2435failed_sio_register:
2436 return retval; 2429 return retval;
2437} 2430}
2438 2431
@@ -2440,8 +2433,7 @@ static void __exit ftdi_exit(void)
2440{ 2433{
2441 dbg("%s", __func__); 2434 dbg("%s", __func__);
2442 2435
2443 usb_deregister(&ftdi_driver); 2436 usb_serial_deregister_drivers(&ftdi_driver, serial_drivers);
2444 usb_serial_deregister(&ftdi_sio_device);
2445} 2437}
2446 2438
2447 2439