diff options
Diffstat (limited to 'drivers/usb/serial/metro-usb.c')
-rw-r--r-- | drivers/usb/serial/metro-usb.c | 18 |
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 | ||
107 | static 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 | */ |
164 | static void __exit metrousb_exit(void) | 168 | static 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; |