diff options
Diffstat (limited to 'drivers/usb/serial/ftdi_sio.c')
-rw-r--r-- | drivers/usb/serial/ftdi_sio.c | 26 |
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 | ||
863 | static const char *ftdi_chip_name[] = { | 862 | static 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 | ||
939 | static 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; | ||
2433 | failed_usb_register: | ||
2434 | usb_serial_deregister(&ftdi_sio_device); | ||
2435 | failed_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 | ||