aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/metro-usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/serial/metro-usb.c')
-rw-r--r--drivers/usb/serial/metro-usb.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/drivers/usb/serial/metro-usb.c b/drivers/usb/serial/metro-usb.c
index 5b8ed50e5dda..bb6838959876 100644
--- a/drivers/usb/serial/metro-usb.c
+++ b/drivers/usb/serial/metro-usb.c
@@ -92,7 +92,6 @@ static struct usb_serial_driver metrousb_device = {
92 }, 92 },
93 .description = "Metrologic USB to serial converter.", 93 .description = "Metrologic USB to serial converter.",
94 .id_table = id_table, 94 .id_table = id_table,
95 .usb_driver = &metrousb_driver,
96 .num_ports = 1, 95 .num_ports = 1,
97 .open = metrousb_open, 96 .open = metrousb_open,
98 .close = metrousb_close, 97 .close = metrousb_close,
@@ -105,6 +104,11 @@ static struct usb_serial_driver metrousb_device = {
105 .tiocmset = metrousb_tiocmset, 104 .tiocmset = metrousb_tiocmset,
106}; 105};
107 106
107static struct usb_serial_driver * const serial_drivers[] = {
108 &metrousb_device,
109 NULL,
110};
111
108/* ---------------------------------------------------------------------------------------------- 112/* ----------------------------------------------------------------------------------------------
109 Description: 113 Description:
110 Clean up any urbs and port information. 114 Clean up any urbs and port information.
@@ -163,10 +167,7 @@ static void metrousb_close (struct usb_serial_port *port)
163*/ 167*/
164static void __exit metrousb_exit(void) 168static void __exit metrousb_exit(void)
165{ 169{
166 dbg("METRO-USB - %s", __FUNCTION__); 170 usb_serial_deregister_drivers(&metrousb_driver, serial_drivers);
167
168 usb_deregister(&metrousb_driver);
169 usb_serial_deregister(&metrousb_device);
170} 171}
171 172
172/* ---------------------------------------------------------------------------------------------- 173/* ----------------------------------------------------------------------------------------------
@@ -203,15 +204,10 @@ static int __init metrousb_init(void)
203 } 204 }
204 205
205 /* Register the devices. */ 206 /* Register the devices. */
206 retval = usb_serial_register(&metrousb_device); 207 retval = usb_serial_register_drivers(&metrousb_driver, serial_drivers);
207 if (retval) 208 if (retval)
208 return retval; 209 return retval;
209 210
210 /* Register the driver. */
211 retval = usb_register(&metrousb_driver);
212 if (retval)
213 usb_serial_deregister(&metrousb_device);
214
215 printk(KERN_INFO DRIVER_DESC " : " DRIVER_VERSION); 211 printk(KERN_INFO DRIVER_DESC " : " DRIVER_VERSION);
216 212
217 return retval; 213 return retval;