]> git.karo-electronics.de Git - linux-beck.git/blobdiff - drivers/usb/serial/ipw.c
USB: serial: remove usb_serial_disconnect call in all drivers
[linux-beck.git] / drivers / usb / serial / ipw.c
index 6f9356f3f99eb0838a610a95ee013efcfce1e7c7..76901336cfeb942fe85b608eadf09e30e9dcbf8f 100644 (file)
@@ -141,10 +141,7 @@ MODULE_DEVICE_TABLE(usb, usb_ipw_ids);
 
 static struct usb_driver usb_ipw_driver = {
        .name =         "ipwtty",
-       .probe =        usb_serial_probe,
-       .disconnect =   usb_serial_disconnect,
        .id_table =     usb_ipw_ids,
-       .no_dynamic_id =        1,
 };
 
 static bool debug;
@@ -156,8 +153,6 @@ static int ipw_open(struct tty_struct *tty, struct usb_serial_port *port)
        u8 *buf_flow_init;
        int result;
 
-       dbg("%s", __func__);
-
        buf_flow_init = kmemdup(buf_flow_static, 16, GFP_KERNEL);
        if (!buf_flow_init)
                return -ENOMEM;
@@ -318,7 +313,6 @@ static struct usb_serial_driver ipw_device = {
                .name =         "ipw",
        },
        .description =          "IPWireless converter",
-       .usb_driver =           &usb_ipw_driver,
        .id_table =             usb_ipw_ids,
        .num_ports =            1,
        .disconnect =           usb_wwan_disconnect,
@@ -331,33 +325,11 @@ static struct usb_serial_driver ipw_device = {
        .write =                usb_wwan_write,
 };
 
+static struct usb_serial_driver * const serial_drivers[] = {
+       &ipw_device, NULL
+};
 
-
-static int __init usb_ipw_init(void)
-{
-       int retval;
-
-       retval = usb_serial_register(&ipw_device);
-       if (retval)
-               return retval;
-       retval = usb_register(&usb_ipw_driver);
-       if (retval) {
-               usb_serial_deregister(&ipw_device);
-               return retval;
-       }
-       printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
-              DRIVER_DESC "\n");
-       return 0;
-}
-
-static void __exit usb_ipw_exit(void)
-{
-       usb_deregister(&usb_ipw_driver);
-       usb_serial_deregister(&ipw_device);
-}
-
-module_init(usb_ipw_init);
-module_exit(usb_ipw_exit);
+module_usb_serial_driver(usb_ipw_driver, serial_drivers);
 
 /* Module information */
 MODULE_AUTHOR(DRIVER_AUTHOR);