usb-serial: use new registration API in [a-c]* drivers
This patch (as1523) modifies the following usb-serial drivers to utilize the new usb_serial_{de}register_drivers() routines: aircable, ark3116, belkin_sa, ch341, cp210x, cyberjack, and cypress_m8. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
765e0ba626
Коммит
08a4f6bc2e
|
@ -175,7 +175,6 @@ static struct usb_driver aircable_driver = {
|
|||
.probe = usb_serial_probe,
|
||||
.disconnect = usb_serial_disconnect,
|
||||
.id_table = id_table,
|
||||
.no_dynamic_id = 1,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver aircable_device = {
|
||||
|
@ -183,7 +182,6 @@ static struct usb_serial_driver aircable_device = {
|
|||
.owner = THIS_MODULE,
|
||||
.name = "aircable",
|
||||
},
|
||||
.usb_driver = &aircable_driver,
|
||||
.id_table = id_table,
|
||||
.num_ports = 1,
|
||||
.bulk_out_size = HCI_COMPLETE_FRAME,
|
||||
|
@ -194,27 +192,18 @@ static struct usb_serial_driver aircable_device = {
|
|||
.unthrottle = usb_serial_generic_unthrottle,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver * const serial_drivers[] = {
|
||||
&aircable_device, NULL
|
||||
};
|
||||
|
||||
static int __init aircable_init(void)
|
||||
{
|
||||
int retval;
|
||||
retval = usb_serial_register(&aircable_device);
|
||||
if (retval)
|
||||
goto failed_serial_register;
|
||||
retval = usb_register(&aircable_driver);
|
||||
if (retval)
|
||||
goto failed_usb_register;
|
||||
return 0;
|
||||
|
||||
failed_usb_register:
|
||||
usb_serial_deregister(&aircable_device);
|
||||
failed_serial_register:
|
||||
return retval;
|
||||
return usb_serial_register_drivers(&aircable_driver, serial_drivers);
|
||||
}
|
||||
|
||||
static void __exit aircable_exit(void)
|
||||
{
|
||||
usb_deregister(&aircable_driver);
|
||||
usb_serial_deregister(&aircable_device);
|
||||
usb_serial_deregister_drivers(&aircable_driver, serial_drivers);
|
||||
}
|
||||
|
||||
MODULE_AUTHOR(DRIVER_AUTHOR);
|
||||
|
|
|
@ -719,7 +719,6 @@ static struct usb_driver ark3116_driver = {
|
|||
.probe = usb_serial_probe,
|
||||
.disconnect = usb_serial_disconnect,
|
||||
.id_table = id_table,
|
||||
.no_dynamic_id = 1,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver ark3116_device = {
|
||||
|
@ -728,7 +727,6 @@ static struct usb_serial_driver ark3116_device = {
|
|||
.name = "ark3116",
|
||||
},
|
||||
.id_table = id_table,
|
||||
.usb_driver = &ark3116_driver,
|
||||
.num_ports = 1,
|
||||
.attach = ark3116_attach,
|
||||
.release = ark3116_release,
|
||||
|
@ -745,28 +743,27 @@ static struct usb_serial_driver ark3116_device = {
|
|||
.process_read_urb = ark3116_process_read_urb,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver * const serial_drivers[] = {
|
||||
&ark3116_device, NULL
|
||||
};
|
||||
|
||||
static int __init ark3116_init(void)
|
||||
{
|
||||
int retval;
|
||||
|
||||
retval = usb_serial_register(&ark3116_device);
|
||||
if (retval)
|
||||
return retval;
|
||||
retval = usb_register(&ark3116_driver);
|
||||
retval = usb_serial_register_drivers(&ark3116_driver, serial_drivers);
|
||||
if (retval == 0) {
|
||||
printk(KERN_INFO "%s:"
|
||||
DRIVER_VERSION ":"
|
||||
DRIVER_DESC "\n",
|
||||
KBUILD_MODNAME);
|
||||
} else
|
||||
usb_serial_deregister(&ark3116_device);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void __exit ark3116_exit(void)
|
||||
{
|
||||
usb_deregister(&ark3116_driver);
|
||||
usb_serial_deregister(&ark3116_device);
|
||||
usb_serial_deregister_drivers(&ark3116_driver, serial_drivers);
|
||||
}
|
||||
|
||||
module_init(ark3116_init);
|
||||
|
|
|
@ -78,7 +78,6 @@ static struct usb_driver belkin_driver = {
|
|||
.probe = usb_serial_probe,
|
||||
.disconnect = usb_serial_disconnect,
|
||||
.id_table = id_table_combined,
|
||||
.no_dynamic_id = 1,
|
||||
};
|
||||
|
||||
/* All of the device info needed for the serial converters */
|
||||
|
@ -88,7 +87,6 @@ static struct usb_serial_driver belkin_device = {
|
|||
.name = "belkin",
|
||||
},
|
||||
.description = "Belkin / Peracom / GoHubs USB Serial Adapter",
|
||||
.usb_driver = &belkin_driver,
|
||||
.id_table = id_table_combined,
|
||||
.num_ports = 1,
|
||||
.open = belkin_sa_open,
|
||||
|
@ -103,6 +101,10 @@ static struct usb_serial_driver belkin_device = {
|
|||
.release = belkin_sa_release,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver * const serial_drivers[] = {
|
||||
&belkin_device, NULL
|
||||
};
|
||||
|
||||
struct belkin_sa_private {
|
||||
spinlock_t lock;
|
||||
unsigned long control_state;
|
||||
|
@ -526,25 +528,17 @@ exit:
|
|||
static int __init belkin_sa_init(void)
|
||||
{
|
||||
int retval;
|
||||
retval = usb_serial_register(&belkin_device);
|
||||
if (retval)
|
||||
goto failed_usb_serial_register;
|
||||
retval = usb_register(&belkin_driver);
|
||||
if (retval)
|
||||
goto failed_usb_register;
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
|
||||
DRIVER_DESC "\n");
|
||||
return 0;
|
||||
failed_usb_register:
|
||||
usb_serial_deregister(&belkin_device);
|
||||
failed_usb_serial_register:
|
||||
|
||||
retval = usb_serial_register_drivers(&belkin_driver, serial_drivers);
|
||||
if (retval == 0)
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
|
||||
DRIVER_DESC "\n");
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void __exit belkin_sa_exit (void)
|
||||
{
|
||||
usb_deregister(&belkin_driver);
|
||||
usb_serial_deregister(&belkin_device);
|
||||
usb_serial_deregister_drivers(&belkin_driver, serial_drivers);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -625,7 +625,6 @@ static struct usb_driver ch341_driver = {
|
|||
.resume = usb_serial_resume,
|
||||
.reset_resume = ch341_reset_resume,
|
||||
.id_table = id_table,
|
||||
.no_dynamic_id = 1,
|
||||
.supports_autosuspend = 1,
|
||||
};
|
||||
|
||||
|
@ -635,7 +634,6 @@ static struct usb_serial_driver ch341_device = {
|
|||
.name = "ch341-uart",
|
||||
},
|
||||
.id_table = id_table,
|
||||
.usb_driver = &ch341_driver,
|
||||
.num_ports = 1,
|
||||
.open = ch341_open,
|
||||
.dtr_rts = ch341_dtr_rts,
|
||||
|
@ -650,23 +648,18 @@ static struct usb_serial_driver ch341_device = {
|
|||
.attach = ch341_attach,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver * const serial_drivers[] = {
|
||||
&ch341_device, NULL
|
||||
};
|
||||
|
||||
static int __init ch341_init(void)
|
||||
{
|
||||
int retval;
|
||||
|
||||
retval = usb_serial_register(&ch341_device);
|
||||
if (retval)
|
||||
return retval;
|
||||
retval = usb_register(&ch341_driver);
|
||||
if (retval)
|
||||
usb_serial_deregister(&ch341_device);
|
||||
return retval;
|
||||
return usb_serial_register_drivers(&ch341_driver, serial_drivers);
|
||||
}
|
||||
|
||||
static void __exit ch341_exit(void)
|
||||
{
|
||||
usb_deregister(&ch341_driver);
|
||||
usb_serial_deregister(&ch341_device);
|
||||
usb_serial_deregister_drivers(&ch341_driver, serial_drivers);
|
||||
}
|
||||
|
||||
module_init(ch341_init);
|
||||
|
|
|
@ -154,7 +154,6 @@ static struct usb_driver cp210x_driver = {
|
|||
.probe = usb_serial_probe,
|
||||
.disconnect = usb_serial_disconnect,
|
||||
.id_table = id_table,
|
||||
.no_dynamic_id = 1,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver cp210x_device = {
|
||||
|
@ -162,7 +161,6 @@ static struct usb_serial_driver cp210x_device = {
|
|||
.owner = THIS_MODULE,
|
||||
.name = "cp210x",
|
||||
},
|
||||
.usb_driver = &cp210x_driver,
|
||||
.id_table = id_table,
|
||||
.num_ports = 1,
|
||||
.bulk_in_size = 256,
|
||||
|
@ -177,6 +175,10 @@ static struct usb_serial_driver cp210x_device = {
|
|||
.dtr_rts = cp210x_dtr_rts
|
||||
};
|
||||
|
||||
static struct usb_serial_driver * const serial_drivers[] = {
|
||||
&cp210x_device, NULL
|
||||
};
|
||||
|
||||
/* Config request types */
|
||||
#define REQTYPE_HOST_TO_DEVICE 0x41
|
||||
#define REQTYPE_DEVICE_TO_HOST 0xc1
|
||||
|
@ -852,27 +854,16 @@ static int __init cp210x_init(void)
|
|||
{
|
||||
int retval;
|
||||
|
||||
retval = usb_serial_register(&cp210x_device);
|
||||
if (retval)
|
||||
return retval; /* Failed to register */
|
||||
|
||||
retval = usb_register(&cp210x_driver);
|
||||
if (retval) {
|
||||
/* Failed to register */
|
||||
usb_serial_deregister(&cp210x_device);
|
||||
return retval;
|
||||
}
|
||||
|
||||
/* Success */
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
|
||||
DRIVER_DESC "\n");
|
||||
return 0;
|
||||
retval = usb_serial_register_drivers(&cp210x_driver, serial_drivers);
|
||||
if (retval == 0)
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
|
||||
DRIVER_DESC "\n");
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void __exit cp210x_exit(void)
|
||||
{
|
||||
usb_deregister(&cp210x_driver);
|
||||
usb_serial_deregister(&cp210x_device);
|
||||
usb_serial_deregister_drivers(&cp210x_driver, serial_drivers);
|
||||
}
|
||||
|
||||
module_init(cp210x_init);
|
||||
|
|
|
@ -82,7 +82,6 @@ static struct usb_driver cyberjack_driver = {
|
|||
.probe = usb_serial_probe,
|
||||
.disconnect = usb_serial_disconnect,
|
||||
.id_table = id_table,
|
||||
.no_dynamic_id = 1,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver cyberjack_device = {
|
||||
|
@ -91,7 +90,6 @@ static struct usb_serial_driver cyberjack_device = {
|
|||
.name = "cyberjack",
|
||||
},
|
||||
.description = "Reiner SCT Cyberjack USB card reader",
|
||||
.usb_driver = &cyberjack_driver,
|
||||
.id_table = id_table,
|
||||
.num_ports = 1,
|
||||
.attach = cyberjack_startup,
|
||||
|
@ -106,6 +104,10 @@ static struct usb_serial_driver cyberjack_device = {
|
|||
.write_bulk_callback = cyberjack_write_bulk_callback,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver * const serial_drivers[] = {
|
||||
&cyberjack_device, NULL
|
||||
};
|
||||
|
||||
struct cyberjack_private {
|
||||
spinlock_t lock; /* Lock for SMP */
|
||||
short rdtodo; /* Bytes still to read */
|
||||
|
@ -476,28 +478,19 @@ exit:
|
|||
static int __init cyberjack_init(void)
|
||||
{
|
||||
int retval;
|
||||
retval = usb_serial_register(&cyberjack_device);
|
||||
if (retval)
|
||||
goto failed_usb_serial_register;
|
||||
retval = usb_register(&cyberjack_driver);
|
||||
if (retval)
|
||||
goto failed_usb_register;
|
||||
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION " "
|
||||
DRIVER_AUTHOR "\n");
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n");
|
||||
|
||||
return 0;
|
||||
failed_usb_register:
|
||||
usb_serial_deregister(&cyberjack_device);
|
||||
failed_usb_serial_register:
|
||||
retval = usb_serial_register_drivers(&cyberjack_driver, serial_drivers);
|
||||
if (retval == 0) {
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION " "
|
||||
DRIVER_AUTHOR "\n");
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n");
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void __exit cyberjack_exit(void)
|
||||
{
|
||||
usb_deregister(&cyberjack_driver);
|
||||
usb_serial_deregister(&cyberjack_device);
|
||||
usb_serial_deregister_drivers(&cyberjack_driver, serial_drivers);
|
||||
}
|
||||
|
||||
module_init(cyberjack_init);
|
||||
|
|
|
@ -94,7 +94,6 @@ static struct usb_driver cypress_driver = {
|
|||
.probe = usb_serial_probe,
|
||||
.disconnect = usb_serial_disconnect,
|
||||
.id_table = id_table_combined,
|
||||
.no_dynamic_id = 1,
|
||||
};
|
||||
|
||||
enum packet_format {
|
||||
|
@ -163,7 +162,6 @@ static struct usb_serial_driver cypress_earthmate_device = {
|
|||
.name = "earthmate",
|
||||
},
|
||||
.description = "DeLorme Earthmate USB",
|
||||
.usb_driver = &cypress_driver,
|
||||
.id_table = id_table_earthmate,
|
||||
.num_ports = 1,
|
||||
.attach = cypress_earthmate_startup,
|
||||
|
@ -190,7 +188,6 @@ static struct usb_serial_driver cypress_hidcom_device = {
|
|||
.name = "cyphidcom",
|
||||
},
|
||||
.description = "HID->COM RS232 Adapter",
|
||||
.usb_driver = &cypress_driver,
|
||||
.id_table = id_table_cyphidcomrs232,
|
||||
.num_ports = 1,
|
||||
.attach = cypress_hidcom_startup,
|
||||
|
@ -217,7 +214,6 @@ static struct usb_serial_driver cypress_ca42v2_device = {
|
|||
.name = "nokiaca42v2",
|
||||
},
|
||||
.description = "Nokia CA-42 V2 Adapter",
|
||||
.usb_driver = &cypress_driver,
|
||||
.id_table = id_table_nokiaca42v2,
|
||||
.num_ports = 1,
|
||||
.attach = cypress_ca42v2_startup,
|
||||
|
@ -238,6 +234,11 @@ static struct usb_serial_driver cypress_ca42v2_device = {
|
|||
.write_int_callback = cypress_write_int_callback,
|
||||
};
|
||||
|
||||
static struct usb_serial_driver * const serial_drivers[] = {
|
||||
&cypress_earthmate_device, &cypress_hidcom_device,
|
||||
&cypress_ca42v2_device, NULL
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
* Cypress serial helper functions
|
||||
*****************************************************************************/
|
||||
|
@ -1356,30 +1357,10 @@ static int __init cypress_init(void)
|
|||
|
||||
dbg("%s", __func__);
|
||||
|
||||
retval = usb_serial_register(&cypress_earthmate_device);
|
||||
if (retval)
|
||||
goto failed_em_register;
|
||||
retval = usb_serial_register(&cypress_hidcom_device);
|
||||
if (retval)
|
||||
goto failed_hidcom_register;
|
||||
retval = usb_serial_register(&cypress_ca42v2_device);
|
||||
if (retval)
|
||||
goto failed_ca42v2_register;
|
||||
retval = usb_register(&cypress_driver);
|
||||
if (retval)
|
||||
goto failed_usb_register;
|
||||
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
|
||||
DRIVER_DESC "\n");
|
||||
return 0;
|
||||
|
||||
failed_usb_register:
|
||||
usb_serial_deregister(&cypress_ca42v2_device);
|
||||
failed_ca42v2_register:
|
||||
usb_serial_deregister(&cypress_hidcom_device);
|
||||
failed_hidcom_register:
|
||||
usb_serial_deregister(&cypress_earthmate_device);
|
||||
failed_em_register:
|
||||
retval = usb_serial_register_drivers(&cypress_driver, serial_drivers);
|
||||
if (retval == 0)
|
||||
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
|
||||
DRIVER_DESC "\n");
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
@ -1388,10 +1369,7 @@ static void __exit cypress_exit(void)
|
|||
{
|
||||
dbg("%s", __func__);
|
||||
|
||||
usb_deregister(&cypress_driver);
|
||||
usb_serial_deregister(&cypress_earthmate_device);
|
||||
usb_serial_deregister(&cypress_hidcom_device);
|
||||
usb_serial_deregister(&cypress_ca42v2_device);
|
||||
usb_serial_deregister_drivers(&cypress_driver, serial_drivers);
|
||||
}
|
||||
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче