aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/safe_serial.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2012-02-23 14:57:25 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-24 15:39:20 -0500
commitd860322f34e4a53f347b1aeae23d5b72f1e91b8c (patch)
treebea8d4ab22b81eed98ab67c82a994b73cb6c5763 /drivers/usb/serial/safe_serial.c
parentf667ddad41e303ebc2c6d5bf3105dffe2fbdd717 (diff)
usb-serial: use new registration API in [q-s]* drivers
This patch (as1528) modifies the following usb-serial drivers to utilize the new usb_serial_{de}register_drivers() routines: qcaux, qcserial, safe_serial, siemens_mpi, sierra, spcp8x5, ssu100, and symbolserial. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/serial/safe_serial.c')
-rw-r--r--drivers/usb/serial/safe_serial.c24
1 files changed, 7 insertions, 17 deletions
diff --git a/drivers/usb/serial/safe_serial.c b/drivers/usb/serial/safe_serial.c
index d074b3740dcb..ae4ee30c7411 100644
--- a/drivers/usb/serial/safe_serial.c
+++ b/drivers/usb/serial/safe_serial.c
@@ -156,7 +156,6 @@ static struct usb_driver safe_driver = {
156 .probe = usb_serial_probe, 156 .probe = usb_serial_probe,
157 .disconnect = usb_serial_disconnect, 157 .disconnect = usb_serial_disconnect,
158 .id_table = id_table, 158 .id_table = id_table,
159 .no_dynamic_id = 1,
160}; 159};
161 160
162static const __u16 crc10_table[256] = { 161static const __u16 crc10_table[256] = {
@@ -309,16 +308,19 @@ static struct usb_serial_driver safe_device = {
309 .name = "safe_serial", 308 .name = "safe_serial",
310 }, 309 },
311 .id_table = id_table, 310 .id_table = id_table,
312 .usb_driver = &safe_driver,
313 .num_ports = 1, 311 .num_ports = 1,
314 .process_read_urb = safe_process_read_urb, 312 .process_read_urb = safe_process_read_urb,
315 .prepare_write_buffer = safe_prepare_write_buffer, 313 .prepare_write_buffer = safe_prepare_write_buffer,
316 .attach = safe_startup, 314 .attach = safe_startup,
317}; 315};
318 316
317static struct usb_serial_driver * const serial_drivers[] = {
318 &safe_device, NULL
319};
320
319static int __init safe_init(void) 321static int __init safe_init(void)
320{ 322{
321 int i, retval; 323 int i;
322 324
323 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":" 325 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
324 DRIVER_DESC "\n"); 326 DRIVER_DESC "\n");
@@ -337,24 +339,12 @@ static int __init safe_init(void)
337 } 339 }
338 } 340 }
339 341
340 retval = usb_serial_register(&safe_device); 342 return usb_serial_register_drivers(&safe_driver, serial_drivers);
341 if (retval)
342 goto failed_usb_serial_register;
343 retval = usb_register(&safe_driver);
344 if (retval)
345 goto failed_usb_register;
346
347 return 0;
348failed_usb_register:
349 usb_serial_deregister(&safe_device);
350failed_usb_serial_register:
351 return retval;
352} 343}
353 344
354static void __exit safe_exit(void) 345static void __exit safe_exit(void)
355{ 346{
356 usb_deregister(&safe_driver); 347 usb_serial_deregister_drivers(&safe_driver, serial_drivers);
357 usb_serial_deregister(&safe_device);
358} 348}
359 349
360module_init(safe_init); 350module_init(safe_init);