USB: serial: io_edgeport.c: use module_usb_serial_driver
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Feb 2012 21:11:51 +0000 (13:11 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Feb 2012 21:11:51 +0000 (13:11 -0800)
This converts the io_edgeport.c driver to use the module_usb_serial_driver() call
instead of having to have a module_init/module_exit function, saving a lot
of duplicated code.

CC: Johan Hovold <jhovold@gmail.com>
CC: Rusty Russell <rusty@rustcorp.com.au>
CC: Huzaifa Sidhpurwala <huzaifas@redhat.com>
CC: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/io_edgeport.c

index 55afa233aacd2887d20c8b17f1e8d080acd10681..323e872357111a1c73bc328a0a33aa2193a1fbbb 100644 (file)
@@ -193,7 +193,8 @@ static const struct divisor_table_entry divisor_table[] = {
 /* local variables */
 static bool debug;
 
-static atomic_t CmdUrbs;       /* Number of outstanding Command Write Urbs */
+/* Number of outstanding Command Write Urbs */
+static atomic_t CmdUrbs = ATOMIC_INIT(0);
 
 
 /* local function prototypes */
@@ -3180,38 +3181,8 @@ static void edge_release(struct usb_serial *serial)
        kfree(edge_serial);
 }
 
+module_usb_serial_driver(io_driver, serial_drivers);
 
-/****************************************************************************
- * edgeport_init
- *     This is called by the module subsystem, or on startup to initialize us
- ****************************************************************************/
-static int __init edgeport_init(void)
-{
-       int retval;
-
-       retval = usb_serial_register_drivers(&io_driver, serial_drivers);
-       if (retval == 0) {
-               atomic_set(&CmdUrbs, 0);
-               printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
-                              DRIVER_DESC "\n");
-       }
-       return retval;
-}
-
-
-/****************************************************************************
- * edgeport_exit
- *     Called when the driver is about to be unloaded.
- ****************************************************************************/
-static void __exit edgeport_exit (void)
-{
-       usb_serial_deregister_drivers(&io_driver, serial_drivers);
-}
-
-module_init(edgeport_init);
-module_exit(edgeport_exit);
-
-/* Module information */
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_LICENSE("GPL");