aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-07 17:02:13 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-07 17:02:13 -0400
commit32078f915d1acab356080b144aa89fe3487f3979 (patch)
tree85b2e54d0997ea680d6a8d1d18acef7f805ee515 /drivers/usb/serial
parent5026bb07be87ef5892742e6853ae6efa0f41961f (diff)
USB: serial: remove usb_serial_disconnect call in all drivers
This is now set by the usb-serial core, no need for the driver to individually set it. Thanks to Alan Stern for the idea to get rid of it. Cc: William Greathouse <wgreathouse@smva.com> Cc: Matthias Bruestle and Harald Welte <support@reiner-sct.com> Cc: Lonnie Mendez <dignome@gmail.com> Cc: Peter Berger <pberger@brimson.com> Cc: Al Borchers <alborchers@steinerpoint.com> Cc: Gary Brubaker <xavyer@ix.netcom.com> Cc: Oliver Neukum <oliver@neukum.name> Cc: Matthias Urlichs <smurf@smurf.noris.de> Cc: Support Department <support@connecttech.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Cc: Kautuk Consul <consul.kautuk@gmail.com> Cc: Bill Pemberton <wfp5p@virginia.edu> Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Cc: Bart Hartgers <bart.hartgers@gmail.com> Cc: Johan Hovold <jhovold@gmail.com> Cc: Preston Fick <preston.fick@silabs.com> Cc: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Cc: Simon Arlott <simon@fire.lp0.eu> Cc: Andrew Worsley <amworsley@gmail.com> Cc: "Michał Wróbel" <michal.wrobel@flytronic.pl> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Eric Dumazet <eric.dumazet@gmail.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Felipe Balbi <balbi@ti.com> Cc: Aleksey Babahin <tamerlan311@gmail.com> Cc: Dan Carpenter <error27@gmail.com> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Donald Lee <donald@asix.com.tw> Cc: Julia Lawall <julia@diku.dk> Cc: Michal Sroczynski <msroczyn@gmail.com> Cc: Wang YanQing <Udknight@gmail.com> Cc: Dan Williams <dcbw@redhat.com> Cc: Thomas Tuttle <ttuttle@chromium.org> Cc: Rigbert Hamisch <rigbert@gmx.de> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Jesper Juhl <jj@chaosbits.net> Cc: Adhir Ramjiawan <adhirramjiawan0@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/serial')
-rw-r--r--drivers/usb/serial/aircable.c1
-rw-r--r--drivers/usb/serial/ark3116.c1
-rw-r--r--drivers/usb/serial/belkin_sa.c1
-rw-r--r--drivers/usb/serial/ch341.c1
-rw-r--r--drivers/usb/serial/cp210x.c1
-rw-r--r--drivers/usb/serial/cyberjack.c1
-rw-r--r--drivers/usb/serial/cypress_m8.c1
-rw-r--r--drivers/usb/serial/digi_acceleport.c1
-rw-r--r--drivers/usb/serial/empeg.c1
-rw-r--r--drivers/usb/serial/f81232.c1
-rw-r--r--drivers/usb/serial/ftdi_sio.c1
-rw-r--r--drivers/usb/serial/funsoft.c1
-rw-r--r--drivers/usb/serial/garmin_gps.c1
-rw-r--r--drivers/usb/serial/generic.c1
-rw-r--r--drivers/usb/serial/hp4x.c1
-rw-r--r--drivers/usb/serial/io_tables.h1
-rw-r--r--drivers/usb/serial/io_ti.c1
-rw-r--r--drivers/usb/serial/ipaq.c1
-rw-r--r--drivers/usb/serial/ipw.c1
-rw-r--r--drivers/usb/serial/ir-usb.c1
-rw-r--r--drivers/usb/serial/iuu_phoenix.c1
-rw-r--r--drivers/usb/serial/keyspan.h1
-rw-r--r--drivers/usb/serial/keyspan_pda.c1
-rw-r--r--drivers/usb/serial/kl5kusb105.c1
-rw-r--r--drivers/usb/serial/kobil_sct.c1
-rw-r--r--drivers/usb/serial/mct_u232.c1
-rw-r--r--drivers/usb/serial/metro-usb.c1
-rw-r--r--drivers/usb/serial/mos7720.c1
-rw-r--r--drivers/usb/serial/mos7840.c1
-rw-r--r--drivers/usb/serial/moto_modem.c1
-rw-r--r--drivers/usb/serial/navman.c1
-rw-r--r--drivers/usb/serial/omninet.c1
-rw-r--r--drivers/usb/serial/opticon.c1
-rw-r--r--drivers/usb/serial/option.c1
-rw-r--r--drivers/usb/serial/oti6858.c1
-rw-r--r--drivers/usb/serial/pl2303.c1
-rw-r--r--drivers/usb/serial/qcaux.c1
-rw-r--r--drivers/usb/serial/qcserial.c1
-rw-r--r--drivers/usb/serial/safe_serial.c1
-rw-r--r--drivers/usb/serial/siemens_mpi.c1
-rw-r--r--drivers/usb/serial/sierra.c1
-rw-r--r--drivers/usb/serial/spcp8x5.c1
-rw-r--r--drivers/usb/serial/ssu100.c1
-rw-r--r--drivers/usb/serial/symbolserial.c1
-rw-r--r--drivers/usb/serial/ti_usb_3410_5052.c1
-rw-r--r--drivers/usb/serial/usb-serial.c26
-rw-r--r--drivers/usb/serial/usb_debug.c1
-rw-r--r--drivers/usb/serial/visor.c1
-rw-r--r--drivers/usb/serial/vivopay-serial.c1
-rw-r--r--drivers/usb/serial/whiteheat.c1
-rw-r--r--drivers/usb/serial/zio.c1
51 files changed, 13 insertions, 63 deletions
diff --git a/drivers/usb/serial/aircable.c b/drivers/usb/serial/aircable.c
index ac69b82b1fe7..93aabd292b48 100644
--- a/drivers/usb/serial/aircable.c
+++ b/drivers/usb/serial/aircable.c
@@ -172,7 +172,6 @@ static void aircable_process_read_urb(struct urb *urb)
172 172
173static struct usb_driver aircable_driver = { 173static struct usb_driver aircable_driver = {
174 .name = "aircable", 174 .name = "aircable",
175 .disconnect = usb_serial_disconnect,
176 .id_table = id_table, 175 .id_table = id_table,
177}; 176};
178 177
diff --git a/drivers/usb/serial/ark3116.c b/drivers/usb/serial/ark3116.c
index 33dc0e37ebb7..4b79679183ba 100644
--- a/drivers/usb/serial/ark3116.c
+++ b/drivers/usb/serial/ark3116.c
@@ -716,7 +716,6 @@ static void ark3116_process_read_urb(struct urb *urb)
716 716
717static struct usb_driver ark3116_driver = { 717static struct usb_driver ark3116_driver = {
718 .name = "ark3116", 718 .name = "ark3116",
719 .disconnect = usb_serial_disconnect,
720 .id_table = id_table, 719 .id_table = id_table,
721}; 720};
722 721
diff --git a/drivers/usb/serial/belkin_sa.c b/drivers/usb/serial/belkin_sa.c
index eb12616dbf6f..13031bb1e2cb 100644
--- a/drivers/usb/serial/belkin_sa.c
+++ b/drivers/usb/serial/belkin_sa.c
@@ -75,7 +75,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
75 75
76static struct usb_driver belkin_driver = { 76static struct usb_driver belkin_driver = {
77 .name = "belkin", 77 .name = "belkin",
78 .disconnect = usb_serial_disconnect,
79 .id_table = id_table_combined, 78 .id_table = id_table_combined,
80}; 79};
81 80
diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c
index 83fd8e08ea53..4f0260a9013a 100644
--- a/drivers/usb/serial/ch341.c
+++ b/drivers/usb/serial/ch341.c
@@ -597,7 +597,6 @@ static int ch341_reset_resume(struct usb_interface *intf)
597 597
598static struct usb_driver ch341_driver = { 598static struct usb_driver ch341_driver = {
599 .name = "ch341", 599 .name = "ch341",
600 .disconnect = usb_serial_disconnect,
601 .reset_resume = ch341_reset_resume, 600 .reset_resume = ch341_reset_resume,
602 .id_table = id_table, 601 .id_table = id_table,
603}; 602};
diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
index cbfc08dd67cd..02a1cab92485 100644
--- a/drivers/usb/serial/cp210x.c
+++ b/drivers/usb/serial/cp210x.c
@@ -158,7 +158,6 @@ struct cp210x_port_private {
158 158
159static struct usb_driver cp210x_driver = { 159static struct usb_driver cp210x_driver = {
160 .name = "cp210x", 160 .name = "cp210x",
161 .disconnect = usb_serial_disconnect,
162 .id_table = id_table, 161 .id_table = id_table,
163}; 162};
164 163
diff --git a/drivers/usb/serial/cyberjack.c b/drivers/usb/serial/cyberjack.c
index 5e765085fad0..37fb911c1cc0 100644
--- a/drivers/usb/serial/cyberjack.c
+++ b/drivers/usb/serial/cyberjack.c
@@ -79,7 +79,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
79 79
80static struct usb_driver cyberjack_driver = { 80static struct usb_driver cyberjack_driver = {
81 .name = "cyberjack", 81 .name = "cyberjack",
82 .disconnect = usb_serial_disconnect,
83 .id_table = id_table, 82 .id_table = id_table,
84}; 83};
85 84
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c
index 14b64ba3eec0..df53d57edb3f 100644
--- a/drivers/usb/serial/cypress_m8.c
+++ b/drivers/usb/serial/cypress_m8.c
@@ -91,7 +91,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
91 91
92static struct usb_driver cypress_driver = { 92static struct usb_driver cypress_driver = {
93 .name = "cypress", 93 .name = "cypress",
94 .disconnect = usb_serial_disconnect,
95 .id_table = id_table_combined, 94 .id_table = id_table_combined,
96}; 95};
97 96
diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c
index 00abe81b5520..3b584db1599f 100644
--- a/drivers/usb/serial/digi_acceleport.c
+++ b/drivers/usb/serial/digi_acceleport.c
@@ -273,7 +273,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
273 273
274static struct usb_driver digi_driver = { 274static struct usb_driver digi_driver = {
275 .name = "digi_acceleport", 275 .name = "digi_acceleport",
276 .disconnect = usb_serial_disconnect,
277 .id_table = id_table_combined, 276 .id_table = id_table_combined,
278}; 277};
279 278
diff --git a/drivers/usb/serial/empeg.c b/drivers/usb/serial/empeg.c
index cbef1a5d87a0..80447e5a6926 100644
--- a/drivers/usb/serial/empeg.c
+++ b/drivers/usb/serial/empeg.c
@@ -53,7 +53,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
53 53
54static struct usb_driver empeg_driver = { 54static struct usb_driver empeg_driver = {
55 .name = "empeg", 55 .name = "empeg",
56 .disconnect = usb_serial_disconnect,
57 .id_table = id_table, 56 .id_table = id_table,
58}; 57};
59 58
diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
index db65e7e9f8da..9052ec3cdf70 100644
--- a/drivers/usb/serial/f81232.c
+++ b/drivers/usb/serial/f81232.c
@@ -352,7 +352,6 @@ static void f81232_release(struct usb_serial *serial)
352 352
353static struct usb_driver f81232_driver = { 353static struct usb_driver f81232_driver = {
354 .name = "f81232", 354 .name = "f81232",
355 .disconnect = usb_serial_disconnect,
356 .id_table = id_table, 355 .id_table = id_table,
357}; 356};
358 357
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 40f9993b3796..7fbba462a68e 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -863,7 +863,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
863 863
864static struct usb_driver ftdi_driver = { 864static struct usb_driver ftdi_driver = {
865 .name = "ftdi_sio", 865 .name = "ftdi_sio",
866 .disconnect = usb_serial_disconnect,
867 .id_table = id_table_combined, 866 .id_table = id_table_combined,
868}; 867};
869 868
diff --git a/drivers/usb/serial/funsoft.c b/drivers/usb/serial/funsoft.c
index 168acbb54a0c..2049911ae759 100644
--- a/drivers/usb/serial/funsoft.c
+++ b/drivers/usb/serial/funsoft.c
@@ -26,7 +26,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
26 26
27static struct usb_driver funsoft_driver = { 27static struct usb_driver funsoft_driver = {
28 .name = "funsoft", 28 .name = "funsoft",
29 .disconnect = usb_serial_disconnect,
30 .id_table = id_table, 29 .id_table = id_table,
31}; 30};
32 31
diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c
index 3a570597f587..0e595a6521ec 100644
--- a/drivers/usb/serial/garmin_gps.c
+++ b/drivers/usb/serial/garmin_gps.c
@@ -221,7 +221,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
221 221
222static struct usb_driver garmin_driver = { 222static struct usb_driver garmin_driver = {
223 .name = "garmin_gps", 223 .name = "garmin_gps",
224 .disconnect = usb_serial_disconnect,
225 .id_table = id_table, 224 .id_table = id_table,
226}; 225};
227 226
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
index 2cc39badf90a..a2dcf0871811 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -52,7 +52,6 @@ static const struct usb_device_id generic_serial_ids[] = {
52static struct usb_driver generic_driver = { 52static struct usb_driver generic_driver = {
53 .name = "usbserial_generic", 53 .name = "usbserial_generic",
54 .probe = generic_probe, 54 .probe = generic_probe,
55 .disconnect = usb_serial_disconnect,
56 .id_table = generic_serial_ids, 55 .id_table = generic_serial_ids,
57}; 56};
58 57
diff --git a/drivers/usb/serial/hp4x.c b/drivers/usb/serial/hp4x.c
index d800ff308bd3..37fe402ba830 100644
--- a/drivers/usb/serial/hp4x.c
+++ b/drivers/usb/serial/hp4x.c
@@ -38,7 +38,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
38 38
39static struct usb_driver hp49gp_driver = { 39static struct usb_driver hp49gp_driver = {
40 .name = "hp4X", 40 .name = "hp4X",
41 .disconnect = usb_serial_disconnect,
42 .id_table = id_table, 41 .id_table = id_table,
43}; 42};
44 43
diff --git a/drivers/usb/serial/io_tables.h b/drivers/usb/serial/io_tables.h
index 7498b5e6a039..650693b1e18b 100644
--- a/drivers/usb/serial/io_tables.h
+++ b/drivers/usb/serial/io_tables.h
@@ -97,7 +97,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
97 97
98static struct usb_driver io_driver = { 98static struct usb_driver io_driver = {
99 .name = "io_edgeport", 99 .name = "io_edgeport",
100 .disconnect = usb_serial_disconnect,
101 .id_table = id_table_combined, 100 .id_table = id_table_combined,
102}; 101};
103 102
diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
index 88ab9f6be1ed..643c12014312 100644
--- a/drivers/usb/serial/io_ti.c
+++ b/drivers/usb/serial/io_ti.c
@@ -199,7 +199,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
199 199
200static struct usb_driver io_driver = { 200static struct usb_driver io_driver = {
201 .name = "io_ti", 201 .name = "io_ti",
202 .disconnect = usb_serial_disconnect,
203 .id_table = id_table_combined, 202 .id_table = id_table_combined,
204}; 203};
205 204
diff --git a/drivers/usb/serial/ipaq.c b/drivers/usb/serial/ipaq.c
index 340c39e330b0..7d1ae700c29d 100644
--- a/drivers/usb/serial/ipaq.c
+++ b/drivers/usb/serial/ipaq.c
@@ -504,7 +504,6 @@ MODULE_DEVICE_TABLE(usb, ipaq_id_table);
504 504
505static struct usb_driver ipaq_driver = { 505static struct usb_driver ipaq_driver = {
506 .name = "ipaq", 506 .name = "ipaq",
507 .disconnect = usb_serial_disconnect,
508 .id_table = ipaq_id_table, 507 .id_table = ipaq_id_table,
509}; 508};
510 509
diff --git a/drivers/usb/serial/ipw.c b/drivers/usb/serial/ipw.c
index b42e1bb3c7e9..76901336cfeb 100644
--- a/drivers/usb/serial/ipw.c
+++ b/drivers/usb/serial/ipw.c
@@ -141,7 +141,6 @@ MODULE_DEVICE_TABLE(usb, usb_ipw_ids);
141 141
142static struct usb_driver usb_ipw_driver = { 142static struct usb_driver usb_ipw_driver = {
143 .name = "ipwtty", 143 .name = "ipwtty",
144 .disconnect = usb_serial_disconnect,
145 .id_table = usb_ipw_ids, 144 .id_table = usb_ipw_ids,
146}; 145};
147 146
diff --git a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c
index 7cee1019e0d5..c69a81ec2fd6 100644
--- a/drivers/usb/serial/ir-usb.c
+++ b/drivers/usb/serial/ir-usb.c
@@ -79,7 +79,6 @@ MODULE_DEVICE_TABLE(usb, ir_id_table);
79 79
80static struct usb_driver ir_driver = { 80static struct usb_driver ir_driver = {
81 .name = "ir-usb", 81 .name = "ir-usb",
82 .disconnect = usb_serial_disconnect,
83 .id_table = ir_id_table, 82 .id_table = ir_id_table,
84}; 83};
85 84
diff --git a/drivers/usb/serial/iuu_phoenix.c b/drivers/usb/serial/iuu_phoenix.c
index 88a093180dab..500e8fbdd9e5 100644
--- a/drivers/usb/serial/iuu_phoenix.c
+++ b/drivers/usb/serial/iuu_phoenix.c
@@ -53,7 +53,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
53 53
54static struct usb_driver iuu_driver = { 54static struct usb_driver iuu_driver = {
55 .name = "iuu_phoenix", 55 .name = "iuu_phoenix",
56 .disconnect = usb_serial_disconnect,
57 .id_table = id_table, 56 .id_table = id_table,
58}; 57};
59 58
diff --git a/drivers/usb/serial/keyspan.h b/drivers/usb/serial/keyspan.h
index 4ebf90616cd5..bb018dfaaa4a 100644
--- a/drivers/usb/serial/keyspan.h
+++ b/drivers/usb/serial/keyspan.h
@@ -489,7 +489,6 @@ MODULE_DEVICE_TABLE(usb, keyspan_ids_combined);
489 489
490static struct usb_driver keyspan_driver = { 490static struct usb_driver keyspan_driver = {
491 .name = "keyspan", 491 .name = "keyspan",
492 .disconnect = usb_serial_disconnect,
493 .id_table = keyspan_ids_combined, 492 .id_table = keyspan_ids_combined,
494}; 493};
495 494
diff --git a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c
index 218169a7bd75..62574cf7e74c 100644
--- a/drivers/usb/serial/keyspan_pda.c
+++ b/drivers/usb/serial/keyspan_pda.c
@@ -88,7 +88,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
88 88
89static struct usb_driver keyspan_pda_driver = { 89static struct usb_driver keyspan_pda_driver = {
90 .name = "keyspan_pda", 90 .name = "keyspan_pda",
91 .disconnect = usb_serial_disconnect,
92 .id_table = id_table_combined, 91 .id_table = id_table_combined,
93}; 92};
94 93
diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c
index c97ca54bd8b3..26dcfac6f6a8 100644
--- a/drivers/usb/serial/kl5kusb105.c
+++ b/drivers/usb/serial/kl5kusb105.c
@@ -88,7 +88,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
88 88
89static struct usb_driver kl5kusb105d_driver = { 89static struct usb_driver kl5kusb105d_driver = {
90 .name = "kl5kusb105d", 90 .name = "kl5kusb105d",
91 .disconnect = usb_serial_disconnect,
92 .id_table = id_table, 91 .id_table = id_table,
93}; 92};
94 93
diff --git a/drivers/usb/serial/kobil_sct.c b/drivers/usb/serial/kobil_sct.c
index d62d1375468e..68fb36a81b46 100644
--- a/drivers/usb/serial/kobil_sct.c
+++ b/drivers/usb/serial/kobil_sct.c
@@ -87,7 +87,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
87 87
88static struct usb_driver kobil_driver = { 88static struct usb_driver kobil_driver = {
89 .name = "kobil", 89 .name = "kobil",
90 .disconnect = usb_serial_disconnect,
91 .id_table = id_table, 90 .id_table = id_table,
92}; 91};
93 92
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c
index bea53f1ad610..a63d1e8be911 100644
--- a/drivers/usb/serial/mct_u232.c
+++ b/drivers/usb/serial/mct_u232.c
@@ -85,7 +85,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
85 85
86static struct usb_driver mct_u232_driver = { 86static struct usb_driver mct_u232_driver = {
87 .name = "mct_u232", 87 .name = "mct_u232",
88 .disconnect = usb_serial_disconnect,
89 .id_table = id_table_combined, 88 .id_table = id_table_combined,
90}; 89};
91 90
diff --git a/drivers/usb/serial/metro-usb.c b/drivers/usb/serial/metro-usb.c
index 06cf5c87a96c..14ad1db38ab5 100644
--- a/drivers/usb/serial/metro-usb.c
+++ b/drivers/usb/serial/metro-usb.c
@@ -421,7 +421,6 @@ static void metrousb_unthrottle(struct tty_struct *tty)
421 421
422static struct usb_driver metrousb_driver = { 422static struct usb_driver metrousb_driver = {
423 .name = "metro-usb", 423 .name = "metro-usb",
424 .disconnect = usb_serial_disconnect,
425 .id_table = id_table 424 .id_table = id_table
426}; 425};
427 426
diff --git a/drivers/usb/serial/mos7720.c b/drivers/usb/serial/mos7720.c
index 0a0e8b427235..eef0d844ef76 100644
--- a/drivers/usb/serial/mos7720.c
+++ b/drivers/usb/serial/mos7720.c
@@ -2160,7 +2160,6 @@ static void mos7720_release(struct usb_serial *serial)
2160 2160
2161static struct usb_driver usb_driver = { 2161static struct usb_driver usb_driver = {
2162 .name = "moschip7720", 2162 .name = "moschip7720",
2163 .disconnect = usb_serial_disconnect,
2164 .id_table = moschip_port_id_table, 2163 .id_table = moschip_port_id_table,
2165}; 2164};
2166 2165
diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c
index 8f370e08c439..91c3c5eb74c5 100644
--- a/drivers/usb/serial/mos7840.c
+++ b/drivers/usb/serial/mos7840.c
@@ -2785,7 +2785,6 @@ static void mos7840_release(struct usb_serial *serial)
2785 2785
2786static struct usb_driver io_driver = { 2786static struct usb_driver io_driver = {
2787 .name = "mos7840", 2787 .name = "mos7840",
2788 .disconnect = usb_serial_disconnect,
2789 .id_table = moschip_id_table_combined, 2788 .id_table = moschip_id_table_combined,
2790}; 2789};
2791 2790
diff --git a/drivers/usb/serial/moto_modem.c b/drivers/usb/serial/moto_modem.c
index 36b5a75088c0..f6b055fb8eec 100644
--- a/drivers/usb/serial/moto_modem.c
+++ b/drivers/usb/serial/moto_modem.c
@@ -33,7 +33,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
33 33
34static struct usb_driver moto_driver = { 34static struct usb_driver moto_driver = {
35 .name = "moto-modem", 35 .name = "moto-modem",
36 .disconnect = usb_serial_disconnect,
37 .id_table = id_table, 36 .id_table = id_table,
38}; 37};
39 38
diff --git a/drivers/usb/serial/navman.c b/drivers/usb/serial/navman.c
index d750fa14947c..6f12bbc51fc9 100644
--- a/drivers/usb/serial/navman.c
+++ b/drivers/usb/serial/navman.c
@@ -32,7 +32,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
32 32
33static struct usb_driver navman_driver = { 33static struct usb_driver navman_driver = {
34 .name = "navman", 34 .name = "navman",
35 .disconnect = usb_serial_disconnect,
36 .id_table = id_table, 35 .id_table = id_table,
37}; 36};
38 37
diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c
index 5cf1f5a114af..72176f38d219 100644
--- a/drivers/usb/serial/omninet.c
+++ b/drivers/usb/serial/omninet.c
@@ -59,7 +59,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
59 59
60static struct usb_driver omninet_driver = { 60static struct usb_driver omninet_driver = {
61 .name = "omninet", 61 .name = "omninet",
62 .disconnect = usb_serial_disconnect,
63 .id_table = id_table, 62 .id_table = id_table,
64}; 63};
65 64
diff --git a/drivers/usb/serial/opticon.c b/drivers/usb/serial/opticon.c
index 5a0f25c4bc07..fe12cac4462c 100644
--- a/drivers/usb/serial/opticon.c
+++ b/drivers/usb/serial/opticon.c
@@ -585,7 +585,6 @@ static int opticon_resume(struct usb_interface *intf)
585 585
586static struct usb_driver opticon_driver = { 586static struct usb_driver opticon_driver = {
587 .name = "opticon", 587 .name = "opticon",
588 .disconnect = usb_serial_disconnect,
589 .suspend = opticon_suspend, 588 .suspend = opticon_suspend,
590 .resume = opticon_resume, 589 .resume = opticon_resume,
591 .id_table = id_table, 590 .id_table = id_table,
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index a654f17424a4..780c27658b9c 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -1222,7 +1222,6 @@ MODULE_DEVICE_TABLE(usb, option_ids);
1222 1222
1223static struct usb_driver option_driver = { 1223static struct usb_driver option_driver = {
1224 .name = "option", 1224 .name = "option",
1225 .disconnect = usb_serial_disconnect,
1226 .id_table = option_ids, 1225 .id_table = option_ids,
1227}; 1226};
1228 1227
diff --git a/drivers/usb/serial/oti6858.c b/drivers/usb/serial/oti6858.c
index bd3ce4908d53..9b195030cbaa 100644
--- a/drivers/usb/serial/oti6858.c
+++ b/drivers/usb/serial/oti6858.c
@@ -68,7 +68,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
68 68
69static struct usb_driver oti6858_driver = { 69static struct usb_driver oti6858_driver = {
70 .name = "oti6858", 70 .name = "oti6858",
71 .disconnect = usb_serial_disconnect,
72 .id_table = id_table, 71 .id_table = id_table,
73}; 72};
74 73
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 93607a4d330b..642136e39fa6 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -97,7 +97,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
97 97
98static struct usb_driver pl2303_driver = { 98static struct usb_driver pl2303_driver = {
99 .name = "pl2303", 99 .name = "pl2303",
100 .disconnect = usb_serial_disconnect,
101 .id_table = id_table, 100 .id_table = id_table,
102}; 101};
103 102
diff --git a/drivers/usb/serial/qcaux.c b/drivers/usb/serial/qcaux.c
index 1be0653570c4..b0b41c11e147 100644
--- a/drivers/usb/serial/qcaux.c
+++ b/drivers/usb/serial/qcaux.c
@@ -79,7 +79,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
79 79
80static struct usb_driver qcaux_driver = { 80static struct usb_driver qcaux_driver = {
81 .name = "qcaux", 81 .name = "qcaux",
82 .disconnect = usb_serial_disconnect,
83 .id_table = id_table, 82 .id_table = id_table,
84}; 83};
85 84
diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
index 6c82f468fa19..400a59e4b0ed 100644
--- a/drivers/usb/serial/qcserial.c
+++ b/drivers/usb/serial/qcserial.c
@@ -114,7 +114,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
114 114
115static struct usb_driver qcdriver = { 115static struct usb_driver qcdriver = {
116 .name = "qcserial", 116 .name = "qcserial",
117 .disconnect = usb_serial_disconnect,
118 .id_table = id_table, 117 .id_table = id_table,
119}; 118};
120 119
diff --git a/drivers/usb/serial/safe_serial.c b/drivers/usb/serial/safe_serial.c
index 15db52206d69..546ea12455f3 100644
--- a/drivers/usb/serial/safe_serial.c
+++ b/drivers/usb/serial/safe_serial.c
@@ -153,7 +153,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
153 153
154static struct usb_driver safe_driver = { 154static struct usb_driver safe_driver = {
155 .name = "safe_serial", 155 .name = "safe_serial",
156 .disconnect = usb_serial_disconnect,
157 .id_table = id_table, 156 .id_table = id_table,
158}; 157};
159 158
diff --git a/drivers/usb/serial/siemens_mpi.c b/drivers/usb/serial/siemens_mpi.c
index b5e929865b94..0d3108af1d04 100644
--- a/drivers/usb/serial/siemens_mpi.c
+++ b/drivers/usb/serial/siemens_mpi.c
@@ -31,7 +31,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
31 31
32static struct usb_driver siemens_usb_mpi_driver = { 32static struct usb_driver siemens_usb_mpi_driver = {
33 .name = "siemens_mpi", 33 .name = "siemens_mpi",
34 .disconnect = usb_serial_disconnect,
35 .id_table = id_table, 34 .id_table = id_table,
36}; 35};
37 36
diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c
index 5f55cfe12e9d..11be3c6c958c 100644
--- a/drivers/usb/serial/sierra.c
+++ b/drivers/usb/serial/sierra.c
@@ -1053,7 +1053,6 @@ static int sierra_reset_resume(struct usb_interface *intf)
1053 1053
1054static struct usb_driver sierra_driver = { 1054static struct usb_driver sierra_driver = {
1055 .name = "sierra", 1055 .name = "sierra",
1056 .disconnect = usb_serial_disconnect,
1057 .reset_resume = sierra_reset_resume, 1056 .reset_resume = sierra_reset_resume,
1058 .id_table = id_table, 1057 .id_table = id_table,
1059}; 1058};
diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c
index 754b138d1848..51e43ccef10c 100644
--- a/drivers/usb/serial/spcp8x5.c
+++ b/drivers/usb/serial/spcp8x5.c
@@ -153,7 +153,6 @@ enum spcp8x5_type {
153 153
154static struct usb_driver spcp8x5_driver = { 154static struct usb_driver spcp8x5_driver = {
155 .name = "spcp8x5", 155 .name = "spcp8x5",
156 .disconnect = usb_serial_disconnect,
157 .id_table = id_table, 156 .id_table = id_table,
158}; 157};
159 158
diff --git a/drivers/usb/serial/ssu100.c b/drivers/usb/serial/ssu100.c
index fcc00241afec..f72b03f83be2 100644
--- a/drivers/usb/serial/ssu100.c
+++ b/drivers/usb/serial/ssu100.c
@@ -65,7 +65,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
65 65
66static struct usb_driver ssu100_driver = { 66static struct usb_driver ssu100_driver = {
67 .name = "ssu100", 67 .name = "ssu100",
68 .disconnect = usb_serial_disconnect,
69 .id_table = id_table, 68 .id_table = id_table,
70}; 69};
71 70
diff --git a/drivers/usb/serial/symbolserial.c b/drivers/usb/serial/symbolserial.c
index 454d80ab6f6c..5ef07ca6fe92 100644
--- a/drivers/usb/serial/symbolserial.c
+++ b/drivers/usb/serial/symbolserial.c
@@ -271,7 +271,6 @@ static void symbol_release(struct usb_serial *serial)
271 271
272static struct usb_driver symbol_driver = { 272static struct usb_driver symbol_driver = {
273 .name = "symbol", 273 .name = "symbol",
274 .disconnect = usb_serial_disconnect,
275 .id_table = id_table, 274 .id_table = id_table,
276}; 275};
277 276
diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
index 29b9c95105c3..9d96224494b8 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -213,7 +213,6 @@ static struct usb_device_id ti_id_table_combined[18+2*TI_EXTRA_VID_PID_COUNT+1]
213 213
214static struct usb_driver ti_usb_driver = { 214static struct usb_driver ti_usb_driver = {
215 .name = "ti_usb_3410_5052", 215 .name = "ti_usb_3410_5052",
216 .disconnect = usb_serial_disconnect,
217 .id_table = ti_id_table_combined, 216 .id_table = ti_id_table_combined,
218}; 217};
219 218
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index e8c4ac964e39..9791312052e9 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -43,17 +43,6 @@
43#define DRIVER_AUTHOR "Greg Kroah-Hartman, greg@kroah.com, http://www.kroah.com/linux/" 43#define DRIVER_AUTHOR "Greg Kroah-Hartman, greg@kroah.com, http://www.kroah.com/linux/"
44#define DRIVER_DESC "USB Serial Driver core" 44#define DRIVER_DESC "USB Serial Driver core"
45 45
46/* Driver structure we register with the USB core */
47static struct usb_driver usb_serial_driver = {
48 .name = "usbserial",
49 .probe = usb_serial_probe,
50 .disconnect = usb_serial_disconnect,
51 .suspend = usb_serial_suspend,
52 .resume = usb_serial_resume,
53 .no_dynamic_id = 1,
54 .supports_autosuspend = 1,
55};
56
57/* There is no MODULE_DEVICE_TABLE for usbserial.c. Instead 46/* There is no MODULE_DEVICE_TABLE for usbserial.c. Instead
58 the MODULE_DEVICE_TABLE declarations in each serial driver 47 the MODULE_DEVICE_TABLE declarations in each serial driver
59 cause the "hotplug" program to pull in whatever module is necessary 48 cause the "hotplug" program to pull in whatever module is necessary
@@ -1099,7 +1088,7 @@ probe_error:
1099 return -EIO; 1088 return -EIO;
1100} 1089}
1101 1090
1102void usb_serial_disconnect(struct usb_interface *interface) 1091static void usb_serial_disconnect(struct usb_interface *interface)
1103{ 1092{
1104 int i; 1093 int i;
1105 struct usb_serial *serial = usb_get_intfdata(interface); 1094 struct usb_serial *serial = usb_get_intfdata(interface);
@@ -1134,7 +1123,6 @@ void usb_serial_disconnect(struct usb_interface *interface)
1134 usb_serial_put(serial); 1123 usb_serial_put(serial);
1135 dev_info(dev, "device disconnected\n"); 1124 dev_info(dev, "device disconnected\n");
1136} 1125}
1137EXPORT_SYMBOL_GPL(usb_serial_disconnect);
1138 1126
1139int usb_serial_suspend(struct usb_interface *intf, pm_message_t message) 1127int usb_serial_suspend(struct usb_interface *intf, pm_message_t message)
1140{ 1128{
@@ -1201,6 +1189,17 @@ static const struct tty_operations serial_ops = {
1201 1189
1202struct tty_driver *usb_serial_tty_driver; 1190struct tty_driver *usb_serial_tty_driver;
1203 1191
1192/* Driver structure we register with the USB core */
1193static struct usb_driver usb_serial_driver = {
1194 .name = "usbserial",
1195 .probe = usb_serial_probe,
1196 .disconnect = usb_serial_disconnect,
1197 .suspend = usb_serial_suspend,
1198 .resume = usb_serial_resume,
1199 .no_dynamic_id = 1,
1200 .supports_autosuspend = 1,
1201};
1202
1204static int __init usb_serial_init(void) 1203static int __init usb_serial_init(void)
1205{ 1204{
1206 int i; 1205 int i;
@@ -1400,6 +1399,7 @@ int usb_serial_register_drivers(struct usb_driver *udriver,
1400 udriver->suspend = usb_serial_suspend; 1399 udriver->suspend = usb_serial_suspend;
1401 udriver->resume = usb_serial_resume; 1400 udriver->resume = usb_serial_resume;
1402 udriver->probe = usb_serial_probe; 1401 udriver->probe = usb_serial_probe;
1402 udriver->disconnect = usb_serial_disconnect;
1403 rc = usb_register(udriver); 1403 rc = usb_register(udriver);
1404 if (rc) 1404 if (rc)
1405 return rc; 1405 return rc;
diff --git a/drivers/usb/serial/usb_debug.c b/drivers/usb/serial/usb_debug.c
index 4e5426f39859..e22e5435ff96 100644
--- a/drivers/usb/serial/usb_debug.c
+++ b/drivers/usb/serial/usb_debug.c
@@ -37,7 +37,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
37 37
38static struct usb_driver debug_driver = { 38static struct usb_driver debug_driver = {
39 .name = "debug", 39 .name = "debug",
40 .disconnect = usb_serial_disconnect,
41 .id_table = id_table, 40 .id_table = id_table,
42}; 41};
43 42
diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
index 36e782af0999..2e24bd34754c 100644
--- a/drivers/usb/serial/visor.c
+++ b/drivers/usb/serial/visor.c
@@ -165,7 +165,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
165 165
166static struct usb_driver visor_driver = { 166static struct usb_driver visor_driver = {
167 .name = "visor", 167 .name = "visor",
168 .disconnect = usb_serial_disconnect,
169 .id_table = id_table_combined, 168 .id_table = id_table_combined,
170}; 169};
171 170
diff --git a/drivers/usb/serial/vivopay-serial.c b/drivers/usb/serial/vivopay-serial.c
index 939ad7fb876f..c7d8ab359454 100644
--- a/drivers/usb/serial/vivopay-serial.c
+++ b/drivers/usb/serial/vivopay-serial.c
@@ -27,7 +27,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
27 27
28static struct usb_driver vivopay_serial_driver = { 28static struct usb_driver vivopay_serial_driver = {
29 .name = "vivopay-serial", 29 .name = "vivopay-serial",
30 .disconnect = usb_serial_disconnect,
31 .id_table = id_table, 30 .id_table = id_table,
32}; 31};
33 32
diff --git a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c
index a0df894b3428..76840cdb818d 100644
--- a/drivers/usb/serial/whiteheat.c
+++ b/drivers/usb/serial/whiteheat.c
@@ -79,7 +79,6 @@ MODULE_DEVICE_TABLE(usb, id_table_combined);
79 79
80static struct usb_driver whiteheat_driver = { 80static struct usb_driver whiteheat_driver = {
81 .name = "whiteheat", 81 .name = "whiteheat",
82 .disconnect = usb_serial_disconnect,
83 .id_table = id_table_combined, 82 .id_table = id_table_combined,
84}; 83};
85 84
diff --git a/drivers/usb/serial/zio.c b/drivers/usb/serial/zio.c
index 2e858c35d9cf..4822cc84a668 100644
--- a/drivers/usb/serial/zio.c
+++ b/drivers/usb/serial/zio.c
@@ -24,7 +24,6 @@ MODULE_DEVICE_TABLE(usb, id_table);
24 24
25static struct usb_driver zio_driver = { 25static struct usb_driver zio_driver = {
26 .name = "zio", 26 .name = "zio",
27 .disconnect = usb_serial_disconnect,
28 .id_table = id_table, 27 .id_table = id_table,
29}; 28};
30 29