diff options
Diffstat (limited to 'drivers/usb/serial/cypress_m8.c')
-rw-r--r-- | drivers/usb/serial/cypress_m8.c | 64 |
1 files changed, 7 insertions, 57 deletions
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c index 3bdeafa29c24..afc886c75d2f 100644 --- a/drivers/usb/serial/cypress_m8.c +++ b/drivers/usb/serial/cypress_m8.c | |||
@@ -94,7 +94,6 @@ static struct usb_driver cypress_driver = { | |||
94 | .probe = usb_serial_probe, | 94 | .probe = usb_serial_probe, |
95 | .disconnect = usb_serial_disconnect, | 95 | .disconnect = usb_serial_disconnect, |
96 | .id_table = id_table_combined, | 96 | .id_table = id_table_combined, |
97 | .no_dynamic_id = 1, | ||
98 | }; | 97 | }; |
99 | 98 | ||
100 | enum packet_format { | 99 | enum packet_format { |
@@ -163,7 +162,6 @@ static struct usb_serial_driver cypress_earthmate_device = { | |||
163 | .name = "earthmate", | 162 | .name = "earthmate", |
164 | }, | 163 | }, |
165 | .description = "DeLorme Earthmate USB", | 164 | .description = "DeLorme Earthmate USB", |
166 | .usb_driver = &cypress_driver, | ||
167 | .id_table = id_table_earthmate, | 165 | .id_table = id_table_earthmate, |
168 | .num_ports = 1, | 166 | .num_ports = 1, |
169 | .attach = cypress_earthmate_startup, | 167 | .attach = cypress_earthmate_startup, |
@@ -190,7 +188,6 @@ static struct usb_serial_driver cypress_hidcom_device = { | |||
190 | .name = "cyphidcom", | 188 | .name = "cyphidcom", |
191 | }, | 189 | }, |
192 | .description = "HID->COM RS232 Adapter", | 190 | .description = "HID->COM RS232 Adapter", |
193 | .usb_driver = &cypress_driver, | ||
194 | .id_table = id_table_cyphidcomrs232, | 191 | .id_table = id_table_cyphidcomrs232, |
195 | .num_ports = 1, | 192 | .num_ports = 1, |
196 | .attach = cypress_hidcom_startup, | 193 | .attach = cypress_hidcom_startup, |
@@ -217,7 +214,6 @@ static struct usb_serial_driver cypress_ca42v2_device = { | |||
217 | .name = "nokiaca42v2", | 214 | .name = "nokiaca42v2", |
218 | }, | 215 | }, |
219 | .description = "Nokia CA-42 V2 Adapter", | 216 | .description = "Nokia CA-42 V2 Adapter", |
220 | .usb_driver = &cypress_driver, | ||
221 | .id_table = id_table_nokiaca42v2, | 217 | .id_table = id_table_nokiaca42v2, |
222 | .num_ports = 1, | 218 | .num_ports = 1, |
223 | .attach = cypress_ca42v2_startup, | 219 | .attach = cypress_ca42v2_startup, |
@@ -238,6 +234,11 @@ static struct usb_serial_driver cypress_ca42v2_device = { | |||
238 | .write_int_callback = cypress_write_int_callback, | 234 | .write_int_callback = cypress_write_int_callback, |
239 | }; | 235 | }; |
240 | 236 | ||
237 | static struct usb_serial_driver * const serial_drivers[] = { | ||
238 | &cypress_earthmate_device, &cypress_hidcom_device, | ||
239 | &cypress_ca42v2_device, NULL | ||
240 | }; | ||
241 | |||
241 | /***************************************************************************** | 242 | /***************************************************************************** |
242 | * Cypress serial helper functions | 243 | * Cypress serial helper functions |
243 | *****************************************************************************/ | 244 | *****************************************************************************/ |
@@ -800,7 +801,7 @@ send: | |||
800 | cypress_write_int_callback, port, priv->write_urb_interval); | 801 | cypress_write_int_callback, port, priv->write_urb_interval); |
801 | result = usb_submit_urb(port->interrupt_out_urb, GFP_ATOMIC); | 802 | result = usb_submit_urb(port->interrupt_out_urb, GFP_ATOMIC); |
802 | if (result) { | 803 | if (result) { |
803 | dev_err(&port->dev, | 804 | dev_err_console(port, |
804 | "%s - failed submitting write urb, error %d\n", | 805 | "%s - failed submitting write urb, error %d\n", |
805 | __func__, result); | 806 | __func__, result); |
806 | priv->write_urb_in_use = 0; | 807 | priv->write_urb_in_use = 0; |
@@ -1345,58 +1346,7 @@ static void cypress_write_int_callback(struct urb *urb) | |||
1345 | cypress_send(port); | 1346 | cypress_send(port); |
1346 | } | 1347 | } |
1347 | 1348 | ||
1348 | 1349 | module_usb_serial_driver(cypress_driver, serial_drivers); | |
1349 | /***************************************************************************** | ||
1350 | * Module functions | ||
1351 | *****************************************************************************/ | ||
1352 | |||
1353 | static int __init cypress_init(void) | ||
1354 | { | ||
1355 | int retval; | ||
1356 | |||
1357 | dbg("%s", __func__); | ||
1358 | |||
1359 | retval = usb_serial_register(&cypress_earthmate_device); | ||
1360 | if (retval) | ||
1361 | goto failed_em_register; | ||
1362 | retval = usb_serial_register(&cypress_hidcom_device); | ||
1363 | if (retval) | ||
1364 | goto failed_hidcom_register; | ||
1365 | retval = usb_serial_register(&cypress_ca42v2_device); | ||
1366 | if (retval) | ||
1367 | goto failed_ca42v2_register; | ||
1368 | retval = usb_register(&cypress_driver); | ||
1369 | if (retval) | ||
1370 | goto failed_usb_register; | ||
1371 | |||
1372 | printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":" | ||
1373 | DRIVER_DESC "\n"); | ||
1374 | return 0; | ||
1375 | |||
1376 | failed_usb_register: | ||
1377 | usb_serial_deregister(&cypress_ca42v2_device); | ||
1378 | failed_ca42v2_register: | ||
1379 | usb_serial_deregister(&cypress_hidcom_device); | ||
1380 | failed_hidcom_register: | ||
1381 | usb_serial_deregister(&cypress_earthmate_device); | ||
1382 | failed_em_register: | ||
1383 | return retval; | ||
1384 | } | ||
1385 | |||
1386 | |||
1387 | static void __exit cypress_exit(void) | ||
1388 | { | ||
1389 | dbg("%s", __func__); | ||
1390 | |||
1391 | usb_deregister(&cypress_driver); | ||
1392 | usb_serial_deregister(&cypress_earthmate_device); | ||
1393 | usb_serial_deregister(&cypress_hidcom_device); | ||
1394 | usb_serial_deregister(&cypress_ca42v2_device); | ||
1395 | } | ||
1396 | |||
1397 | |||
1398 | module_init(cypress_init); | ||
1399 | module_exit(cypress_exit); | ||
1400 | 1350 | ||
1401 | MODULE_AUTHOR(DRIVER_AUTHOR); | 1351 | MODULE_AUTHOR(DRIVER_AUTHOR); |
1402 | MODULE_DESCRIPTION(DRIVER_DESC); | 1352 | MODULE_DESCRIPTION(DRIVER_DESC); |