usb-serial: use new registration API in [n-p]* drivers
This patch (as1527) modifies the following usb-serial drivers to
utilize the new usb_serial_{de}register_drivers() routines:
navman, omninet, opticon, option, oti6858, and pl2303.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/usb/serial/navman.c b/drivers/usb/serial/navman.c
index b28f1db..fd4b2c8 100644
--- a/drivers/usb/serial/navman.c
+++ b/drivers/usb/serial/navman.c
@@ -35,7 +35,6 @@
.probe = usb_serial_probe,
.disconnect = usb_serial_disconnect,
.id_table = id_table,
- .no_dynamic_id = 1,
};
static void navman_read_int_callback(struct urb *urb)
@@ -122,7 +121,6 @@
.name = "navman",
},
.id_table = id_table,
- .usb_driver = &navman_driver,
.num_ports = 1,
.open = navman_open,
.close = navman_close,
@@ -130,23 +128,18 @@
.read_int_callback = navman_read_int_callback,
};
+static struct usb_serial_driver * const serial_drivers[] = {
+ &navman_device, NULL
+};
+
static int __init navman_init(void)
{
- int retval;
-
- retval = usb_serial_register(&navman_device);
- if (retval)
- return retval;
- retval = usb_register(&navman_driver);
- if (retval)
- usb_serial_deregister(&navman_device);
- return retval;
+ return usb_serial_register_drivers(&navman_driver, serial_drivers);
}
static void __exit navman_exit(void)
{
- usb_deregister(&navman_driver);
- usb_serial_deregister(&navman_device);
+ usb_serial_deregister_drivers(&navman_driver, serial_drivers);
}
module_init(navman_init);
diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c
index 033e8af..975d5c5 100644
--- a/drivers/usb/serial/omninet.c
+++ b/drivers/usb/serial/omninet.c
@@ -62,7 +62,6 @@
.probe = usb_serial_probe,
.disconnect = usb_serial_disconnect,
.id_table = id_table,
- .no_dynamic_id = 1,
};
@@ -72,7 +71,6 @@
.name = "omninet",
},
.description = "ZyXEL - omni.net lcd plus usb",
- .usb_driver = &omninet_driver,
.id_table = id_table,
.num_ports = 1,
.attach = omninet_attach,
@@ -86,6 +84,10 @@
.release = omninet_release,
};
+static struct usb_serial_driver * const serial_drivers[] = {
+ &zyxel_omninet_device, NULL
+};
+
/* The protocol.
*
@@ -323,26 +325,18 @@
static int __init omninet_init(void)
{
int retval;
- retval = usb_serial_register(&zyxel_omninet_device);
- if (retval)
- goto failed_usb_serial_register;
- retval = usb_register(&omninet_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(&zyxel_omninet_device);
-failed_usb_serial_register:
+
+ retval = usb_serial_register_drivers(&omninet_driver, serial_drivers);
+ if (retval == 0)
+ printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
+ DRIVER_DESC "\n");
return retval;
}
static void __exit omninet_exit(void)
{
- usb_deregister(&omninet_driver);
- usb_serial_deregister(&zyxel_omninet_device);
+ usb_serial_deregister_drivers(&omninet_driver, serial_drivers);
}
diff --git a/drivers/usb/serial/opticon.c b/drivers/usb/serial/opticon.c
index 262ded9..7001ad7 100644
--- a/drivers/usb/serial/opticon.c
+++ b/drivers/usb/serial/opticon.c
@@ -604,7 +604,6 @@
.suspend = opticon_suspend,
.resume = opticon_resume,
.id_table = id_table,
- .no_dynamic_id = 1,
};
static struct usb_serial_driver opticon_device = {
@@ -613,7 +612,6 @@
.name = "opticon",
},
.id_table = id_table,
- .usb_driver = &opticon_driver,
.num_ports = 1,
.attach = opticon_startup,
.open = opticon_open,
@@ -629,23 +627,18 @@
.tiocmset = opticon_tiocmset,
};
+static struct usb_serial_driver * const serial_drivers[] = {
+ &opticon_device, NULL
+};
+
static int __init opticon_init(void)
{
- int retval;
-
- retval = usb_serial_register(&opticon_device);
- if (retval)
- return retval;
- retval = usb_register(&opticon_driver);
- if (retval)
- usb_serial_deregister(&opticon_device);
- return retval;
+ return usb_serial_register_drivers(&opticon_driver, serial_drivers);
}
static void __exit opticon_exit(void)
{
- usb_deregister(&opticon_driver);
- usb_serial_deregister(&opticon_device);
+ usb_serial_deregister_drivers(&opticon_driver, serial_drivers);
}
module_init(opticon_init);
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index b54afce..138a7b9 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -1212,7 +1212,6 @@
.supports_autosuspend = 1,
#endif
.id_table = option_ids,
- .no_dynamic_id = 1,
};
/* The card has three separate interfaces, which the serial driver
@@ -1225,7 +1224,6 @@
.name = "option1",
},
.description = "GSM modem (1-port)",
- .usb_driver = &option_driver,
.id_table = option_ids,
.num_ports = 1,
.probe = option_probe,
@@ -1249,6 +1247,10 @@
#endif
};
+static struct usb_serial_driver * const serial_drivers[] = {
+ &option_1port_device, NULL
+};
+
static bool debug;
/* per port private data */
@@ -1284,28 +1286,17 @@
static int __init option_init(void)
{
int retval;
- retval = usb_serial_register(&option_1port_device);
- if (retval)
- goto failed_1port_device_register;
- retval = usb_register(&option_driver);
- if (retval)
- goto failed_driver_register;
- printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
- DRIVER_DESC "\n");
-
- return 0;
-
-failed_driver_register:
- usb_serial_deregister(&option_1port_device);
-failed_1port_device_register:
+ retval = usb_serial_register_drivers(&option_driver, serial_drivers);
+ if (retval == 0)
+ printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
+ DRIVER_DESC "\n");
return retval;
}
static void __exit option_exit(void)
{
- usb_deregister(&option_driver);
- usb_serial_deregister(&option_1port_device);
+ usb_serial_deregister_drivers(&option_driver, serial_drivers);
}
module_init(option_init);
diff --git a/drivers/usb/serial/oti6858.c b/drivers/usb/serial/oti6858.c
index 343e626..53f2768 100644
--- a/drivers/usb/serial/oti6858.c
+++ b/drivers/usb/serial/oti6858.c
@@ -71,7 +71,6 @@
.probe = usb_serial_probe,
.disconnect = usb_serial_disconnect,
.id_table = id_table,
- .no_dynamic_id = 1,
};
static bool debug;
@@ -157,7 +156,6 @@
.name = "oti6858",
},
.id_table = id_table,
- .usb_driver = &oti6858_driver,
.num_ports = 1,
.open = oti6858_open,
.close = oti6858_close,
@@ -176,6 +174,10 @@
.release = oti6858_release,
};
+static struct usb_serial_driver * const serial_drivers[] = {
+ &oti6858_device, NULL
+};
+
struct oti6858_private {
spinlock_t lock;
@@ -960,21 +962,12 @@
static int __init oti6858_init(void)
{
- int retval;
-
- retval = usb_serial_register(&oti6858_device);
- if (retval == 0) {
- retval = usb_register(&oti6858_driver);
- if (retval)
- usb_serial_deregister(&oti6858_device);
- }
- return retval;
+ return usb_serial_register_drivers(&oti6858_driver, serial_drivers);
}
static void __exit oti6858_exit(void)
{
- usb_deregister(&oti6858_driver);
- usb_serial_deregister(&oti6858_device);
+ usb_serial_deregister_drivers(&oti6858_driver, serial_drivers);
}
module_init(oti6858_init);
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 3d8cda5..cc65d81 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -104,7 +104,6 @@
.id_table = id_table,
.suspend = usb_serial_suspend,
.resume = usb_serial_resume,
- .no_dynamic_id = 1,
.supports_autosuspend = 1,
};
@@ -834,7 +833,6 @@
.name = "pl2303",
},
.id_table = id_table,
- .usb_driver = &pl2303_driver,
.num_ports = 1,
.bulk_in_size = 256,
.bulk_out_size = 256,
@@ -853,28 +851,23 @@
.release = pl2303_release,
};
+static struct usb_serial_driver * const serial_drivers[] = {
+ &pl2303_device, NULL
+};
+
static int __init pl2303_init(void)
{
int retval;
- retval = usb_serial_register(&pl2303_device);
- if (retval)
- goto failed_usb_serial_register;
- retval = usb_register(&pl2303_driver);
- if (retval)
- goto failed_usb_register;
- printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n");
- return 0;
-failed_usb_register:
- usb_serial_deregister(&pl2303_device);
-failed_usb_serial_register:
+ retval = usb_serial_register_drivers(&pl2303_driver, serial_drivers);
+ if (retval == 0)
+ printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n");
return retval;
}
static void __exit pl2303_exit(void)
{
- usb_deregister(&pl2303_driver);
- usb_serial_deregister(&pl2303_device);
+ usb_serial_deregister_drivers(&pl2303_driver, serial_drivers);
}
module_init(pl2303_init);