提交 97b6b6d2 编写于 作者: A Alan Stern 提交者: Greg Kroah-Hartman

usb-serial: use new registration API in [d-h]* drivers

This patch (as1524) modifies the following usb-serial drivers to
utilize the new usb_serial_{de}register_drivers() routines:

	digi_acceleport, empeg, ftdi_sio, funsoft, garmin_gps,
	and hp4x.
Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 08a4f6bc
...@@ -276,7 +276,6 @@ static struct usb_driver digi_driver = { ...@@ -276,7 +276,6 @@ static struct usb_driver digi_driver = {
.probe = usb_serial_probe, .probe = usb_serial_probe,
.disconnect = usb_serial_disconnect, .disconnect = usb_serial_disconnect,
.id_table = id_table_combined, .id_table = id_table_combined,
.no_dynamic_id = 1,
}; };
...@@ -288,7 +287,6 @@ static struct usb_serial_driver digi_acceleport_2_device = { ...@@ -288,7 +287,6 @@ static struct usb_serial_driver digi_acceleport_2_device = {
.name = "digi_2", .name = "digi_2",
}, },
.description = "Digi 2 port USB adapter", .description = "Digi 2 port USB adapter",
.usb_driver = &digi_driver,
.id_table = id_table_2, .id_table = id_table_2,
.num_ports = 3, .num_ports = 3,
.open = digi_open, .open = digi_open,
...@@ -316,7 +314,6 @@ static struct usb_serial_driver digi_acceleport_4_device = { ...@@ -316,7 +314,6 @@ static struct usb_serial_driver digi_acceleport_4_device = {
.name = "digi_4", .name = "digi_4",
}, },
.description = "Digi 4 port USB adapter", .description = "Digi 4 port USB adapter",
.usb_driver = &digi_driver,
.id_table = id_table_4, .id_table = id_table_4,
.num_ports = 4, .num_ports = 4,
.open = digi_open, .open = digi_open,
...@@ -337,6 +334,9 @@ static struct usb_serial_driver digi_acceleport_4_device = { ...@@ -337,6 +334,9 @@ static struct usb_serial_driver digi_acceleport_4_device = {
.release = digi_release, .release = digi_release,
}; };
static struct usb_serial_driver * const serial_drivers[] = {
&digi_acceleport_2_device, &digi_acceleport_4_device, NULL
};
/* Functions */ /* Functions */
...@@ -1583,31 +1583,17 @@ static int digi_read_oob_callback(struct urb *urb) ...@@ -1583,31 +1583,17 @@ static int digi_read_oob_callback(struct urb *urb)
static int __init digi_init(void) static int __init digi_init(void)
{ {
int retval; int retval;
retval = usb_serial_register(&digi_acceleport_2_device);
if (retval) retval = usb_serial_register_drivers(&digi_driver, serial_drivers);
goto failed_acceleport_2_device; if (retval == 0)
retval = usb_serial_register(&digi_acceleport_4_device); printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
if (retval) DRIVER_DESC "\n");
goto failed_acceleport_4_device;
retval = usb_register(&digi_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(&digi_acceleport_4_device);
failed_acceleport_4_device:
usb_serial_deregister(&digi_acceleport_2_device);
failed_acceleport_2_device:
return retval; return retval;
} }
static void __exit digi_exit (void) static void __exit digi_exit (void)
{ {
usb_deregister(&digi_driver); usb_serial_deregister_drivers(&digi_driver, serial_drivers);
usb_serial_deregister(&digi_acceleport_2_device);
usb_serial_deregister(&digi_acceleport_4_device);
} }
......
...@@ -56,7 +56,6 @@ static struct usb_driver empeg_driver = { ...@@ -56,7 +56,6 @@ static struct usb_driver empeg_driver = {
.probe = usb_serial_probe, .probe = usb_serial_probe,
.disconnect = usb_serial_disconnect, .disconnect = usb_serial_disconnect,
.id_table = id_table, .id_table = id_table,
.no_dynamic_id = 1,
}; };
static struct usb_serial_driver empeg_device = { static struct usb_serial_driver empeg_device = {
...@@ -65,7 +64,6 @@ static struct usb_serial_driver empeg_device = { ...@@ -65,7 +64,6 @@ static struct usb_serial_driver empeg_device = {
.name = "empeg", .name = "empeg",
}, },
.id_table = id_table, .id_table = id_table,
.usb_driver = &empeg_driver,
.num_ports = 1, .num_ports = 1,
.bulk_out_size = 256, .bulk_out_size = 256,
.throttle = usb_serial_generic_throttle, .throttle = usb_serial_generic_throttle,
...@@ -74,6 +72,10 @@ static struct usb_serial_driver empeg_device = { ...@@ -74,6 +72,10 @@ static struct usb_serial_driver empeg_device = {
.init_termios = empeg_init_termios, .init_termios = empeg_init_termios,
}; };
static struct usb_serial_driver * const serial_drivers[] = {
&empeg_device, NULL
};
static int empeg_startup(struct usb_serial *serial) static int empeg_startup(struct usb_serial *serial)
{ {
int r; int r;
...@@ -140,24 +142,16 @@ static int __init empeg_init(void) ...@@ -140,24 +142,16 @@ static int __init empeg_init(void)
{ {
int retval; int retval;
retval = usb_serial_register(&empeg_device); retval = usb_serial_register_drivers(&empeg_driver, serial_drivers);
if (retval) if (retval == 0)
return retval; printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
retval = usb_register(&empeg_driver); DRIVER_DESC "\n");
if (retval) { return retval;
usb_serial_deregister(&empeg_device);
return retval;
}
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
DRIVER_DESC "\n");
return 0;
} }
static void __exit empeg_exit(void) static void __exit empeg_exit(void)
{ {
usb_deregister(&empeg_driver); usb_serial_deregister_drivers(&empeg_driver, serial_drivers);
usb_serial_deregister(&empeg_device);
} }
......
...@@ -857,7 +857,6 @@ static struct usb_driver ftdi_driver = { ...@@ -857,7 +857,6 @@ static struct usb_driver ftdi_driver = {
.probe = usb_serial_probe, .probe = usb_serial_probe,
.disconnect = usb_serial_disconnect, .disconnect = usb_serial_disconnect,
.id_table = id_table_combined, .id_table = id_table_combined,
.no_dynamic_id = 1,
}; };
static const char *ftdi_chip_name[] = { static const char *ftdi_chip_name[] = {
...@@ -915,7 +914,6 @@ static struct usb_serial_driver ftdi_sio_device = { ...@@ -915,7 +914,6 @@ static struct usb_serial_driver ftdi_sio_device = {
.name = "ftdi_sio", .name = "ftdi_sio",
}, },
.description = "FTDI USB Serial Device", .description = "FTDI USB Serial Device",
.usb_driver = &ftdi_driver,
.id_table = id_table_combined, .id_table = id_table_combined,
.num_ports = 1, .num_ports = 1,
.bulk_in_size = 512, .bulk_in_size = 512,
...@@ -938,6 +936,10 @@ static struct usb_serial_driver ftdi_sio_device = { ...@@ -938,6 +936,10 @@ static struct usb_serial_driver ftdi_sio_device = {
.break_ctl = ftdi_break_ctl, .break_ctl = ftdi_break_ctl,
}; };
static struct usb_serial_driver * const serial_drivers[] = {
&ftdi_sio_device, NULL
};
#define WDR_TIMEOUT 5000 /* default urb timeout */ #define WDR_TIMEOUT 5000 /* default urb timeout */
#define WDR_SHORT_TIMEOUT 1000 /* shorter urb timeout */ #define WDR_SHORT_TIMEOUT 1000 /* shorter urb timeout */
...@@ -2420,19 +2422,10 @@ static int __init ftdi_init(void) ...@@ -2420,19 +2422,10 @@ static int __init ftdi_init(void)
id_table_combined[i].idVendor = vendor; id_table_combined[i].idVendor = vendor;
id_table_combined[i].idProduct = product; id_table_combined[i].idProduct = product;
} }
retval = usb_serial_register(&ftdi_sio_device); retval = usb_serial_register_drivers(&ftdi_driver, serial_drivers);
if (retval) if (retval == 0)
goto failed_sio_register; printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
retval = usb_register(&ftdi_driver); DRIVER_DESC "\n");
if (retval)
goto failed_usb_register;
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
DRIVER_DESC "\n");
return 0;
failed_usb_register:
usb_serial_deregister(&ftdi_sio_device);
failed_sio_register:
return retval; return retval;
} }
...@@ -2440,8 +2433,7 @@ static void __exit ftdi_exit(void) ...@@ -2440,8 +2433,7 @@ static void __exit ftdi_exit(void)
{ {
dbg("%s", __func__); dbg("%s", __func__);
usb_deregister(&ftdi_driver); usb_serial_deregister_drivers(&ftdi_driver, serial_drivers);
usb_serial_deregister(&ftdi_sio_device);
} }
......
...@@ -29,7 +29,6 @@ static struct usb_driver funsoft_driver = { ...@@ -29,7 +29,6 @@ static struct usb_driver funsoft_driver = {
.probe = usb_serial_probe, .probe = usb_serial_probe,
.disconnect = usb_serial_disconnect, .disconnect = usb_serial_disconnect,
.id_table = id_table, .id_table = id_table,
.no_dynamic_id = 1,
}; };
static struct usb_serial_driver funsoft_device = { static struct usb_serial_driver funsoft_device = {
...@@ -38,27 +37,21 @@ static struct usb_serial_driver funsoft_device = { ...@@ -38,27 +37,21 @@ static struct usb_serial_driver funsoft_device = {
.name = "funsoft", .name = "funsoft",
}, },
.id_table = id_table, .id_table = id_table,
.usb_driver = &funsoft_driver,
.num_ports = 1, .num_ports = 1,
}; };
static struct usb_serial_driver * const serial_drivers[] = {
&funsoft_device, NULL
};
static int __init funsoft_init(void) static int __init funsoft_init(void)
{ {
int retval; return usb_serial_register_drivers(&funsoft_driver, serial_drivers);
retval = usb_serial_register(&funsoft_device);
if (retval)
return retval;
retval = usb_register(&funsoft_driver);
if (retval)
usb_serial_deregister(&funsoft_device);
return retval;
} }
static void __exit funsoft_exit(void) static void __exit funsoft_exit(void)
{ {
usb_deregister(&funsoft_driver); usb_serial_deregister_drivers(&funsoft_driver, serial_drivers);
usb_serial_deregister(&funsoft_device);
} }
module_init(funsoft_init); module_init(funsoft_init);
......
...@@ -224,7 +224,6 @@ static struct usb_driver garmin_driver = { ...@@ -224,7 +224,6 @@ static struct usb_driver garmin_driver = {
.probe = usb_serial_probe, .probe = usb_serial_probe,
.disconnect = usb_serial_disconnect, .disconnect = usb_serial_disconnect,
.id_table = id_table, .id_table = id_table,
.no_dynamic_id = 1,
}; };
...@@ -1497,7 +1496,6 @@ static struct usb_serial_driver garmin_device = { ...@@ -1497,7 +1496,6 @@ static struct usb_serial_driver garmin_device = {
.name = "garmin_gps", .name = "garmin_gps",
}, },
.description = "Garmin GPS usb/tty", .description = "Garmin GPS usb/tty",
.usb_driver = &garmin_driver,
.id_table = id_table, .id_table = id_table,
.num_ports = 1, .num_ports = 1,
.open = garmin_open, .open = garmin_open,
...@@ -1514,33 +1512,26 @@ static struct usb_serial_driver garmin_device = { ...@@ -1514,33 +1512,26 @@ static struct usb_serial_driver garmin_device = {
.read_int_callback = garmin_read_int_callback, .read_int_callback = garmin_read_int_callback,
}; };
static struct usb_serial_driver * const serial_drivers[] = {
&garmin_device, NULL
};
static int __init garmin_init(void) static int __init garmin_init(void)
{ {
int retval; int retval;
retval = usb_serial_register(&garmin_device); retval = usb_serial_register_drivers(&garmin_driver, serial_drivers);
if (retval) if (retval == 0)
goto failed_garmin_register; printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
retval = usb_register(&garmin_driver); DRIVER_DESC "\n");
if (retval)
goto failed_usb_register;
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
DRIVER_DESC "\n");
return 0;
failed_usb_register:
usb_serial_deregister(&garmin_device);
failed_garmin_register:
return retval; return retval;
} }
static void __exit garmin_exit(void) static void __exit garmin_exit(void)
{ {
usb_deregister(&garmin_driver); usb_serial_deregister_drivers(&garmin_driver, serial_drivers);
usb_serial_deregister(&garmin_device);
} }
......
...@@ -41,7 +41,6 @@ static struct usb_driver hp49gp_driver = { ...@@ -41,7 +41,6 @@ static struct usb_driver hp49gp_driver = {
.probe = usb_serial_probe, .probe = usb_serial_probe,
.disconnect = usb_serial_disconnect, .disconnect = usb_serial_disconnect,
.id_table = id_table, .id_table = id_table,
.no_dynamic_id = 1,
}; };
static struct usb_serial_driver hp49gp_device = { static struct usb_serial_driver hp49gp_device = {
...@@ -50,32 +49,27 @@ static struct usb_serial_driver hp49gp_device = { ...@@ -50,32 +49,27 @@ static struct usb_serial_driver hp49gp_device = {
.name = "hp4X", .name = "hp4X",
}, },
.id_table = id_table, .id_table = id_table,
.usb_driver = &hp49gp_driver,
.num_ports = 1, .num_ports = 1,
}; };
static struct usb_serial_driver * const serial_drivers[] = {
&hp49gp_device, NULL
};
static int __init hp49gp_init(void) static int __init hp49gp_init(void)
{ {
int retval; int retval;
retval = usb_serial_register(&hp49gp_device);
if (retval) retval = usb_serial_register_drivers(&hp49gp_driver, serial_drivers);
goto failed_usb_serial_register; if (retval == 0)
retval = usb_register(&hp49gp_driver); printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
if (retval) DRIVER_DESC "\n");
goto failed_usb_register;
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
DRIVER_DESC "\n");
return 0;
failed_usb_register:
usb_serial_deregister(&hp49gp_device);
failed_usb_serial_register:
return retval; return retval;
} }
static void __exit hp49gp_exit(void) static void __exit hp49gp_exit(void)
{ {
usb_deregister(&hp49gp_driver); usb_serial_deregister_drivers(&hp49gp_driver, serial_drivers);
usb_serial_deregister(&hp49gp_device);
} }
module_init(hp49gp_init); module_init(hp49gp_init);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册