USB: serial: metro-usb: fix up usb_serial_register calls
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Mar 2012 21:33:04 +0000 (13:33 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Mar 2012 21:33:04 +0000 (13:33 -0800)
The usb serial core has changed how the driver is to be registered and
unregistered recently.  Make these changes to the driver so that it will
properly build and work.

Cc: Aleksey Babahin <tamerlan311@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/metro-usb.c

index 5b8ed50e5dda1f8ed90cf1fcc51e67d85efebabd..bb6838959876bfd814b7c56024f58cb12dac067e 100644 (file)
@@ -92,7 +92,6 @@ static struct usb_serial_driver metrousb_device = {
        },
        .description            = "Metrologic USB to serial converter.",
        .id_table               = id_table,
-       .usb_driver             = &metrousb_driver,
        .num_ports              = 1,
        .open                   = metrousb_open,
        .close                  = metrousb_close,
@@ -105,6 +104,11 @@ static struct usb_serial_driver metrousb_device = {
        .tiocmset               = metrousb_tiocmset,
 };
 
+static struct usb_serial_driver * const serial_drivers[] = {
+       &metrousb_device,
+       NULL,
+};
+
 /* ----------------------------------------------------------------------------------------------
   Description:
        Clean up any urbs and port information.
@@ -163,10 +167,7 @@ static void metrousb_close (struct usb_serial_port *port)
 */
 static void __exit metrousb_exit(void)
 {
-       dbg("METRO-USB - %s", __FUNCTION__);
-
-       usb_deregister(&metrousb_driver);
-       usb_serial_deregister(&metrousb_device);
+       usb_serial_deregister_drivers(&metrousb_driver, serial_drivers);
 }
 
 /* ----------------------------------------------------------------------------------------------
@@ -203,15 +204,10 @@ static int __init metrousb_init(void)
        }
 
        /* Register the devices. */
-       retval = usb_serial_register(&metrousb_device);
+       retval = usb_serial_register_drivers(&metrousb_driver, serial_drivers);
        if (retval)
                return retval;
 
-       /* Register the driver. */
-       retval = usb_register(&metrousb_driver);
-       if (retval)
-               usb_serial_deregister(&metrousb_device);
-
        printk(KERN_INFO DRIVER_DESC " : " DRIVER_VERSION);
 
        return retval;