diff options
author | Peter Chen <peter.chen@freescale.com> | 2013-09-22 23:20:08 -0400 |
---|---|---|
committer | Peter Chen <peter.chen@freescale.com> | 2014-07-04 05:31:06 -0400 |
commit | dbf45927ac7e149c28a3aac4bfa7768acbbb8e35 (patch) | |
tree | fd6e7a1c30d0c2716a1100cb322c6acdb7e3df7e | |
parent | 2275dc85cecd4d32e31fc4d5223890f0a0f833c1 (diff) |
ENGR00320792-3 usb: gadget: mark init as late_initcall
Since we introduce -EPROBE_DEFER for udc driver, it will be
probed at late_initcall if it is defered. When the gadget
is built in, it will return "couldn't find an available UDC"
at such case. That's the problem we met at below link:
http://marc.info/?l=linux-usb&m=137706435611447&w=2
We have no driver's probe at gadget driver, so we can't return
-EPROBE_DEFER. And it is also not suitable to defer udc_bind_to_driver
if the udc is not found temporarily, since it is hard to decide the
return value for usb_gadget_probe_driver.
Due to above reasons, mark gadget's init as late_initcall may be a
moderate solution.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
-rw-r--r-- | drivers/usb/gadget/acm_ms.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/audio.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/cdc2.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/ether.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/gmidi.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/hid.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/multi.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/ncm.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/nokia.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/printer.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/serial.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/webcam.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/zero.c | 2 |
13 files changed, 13 insertions, 13 deletions
diff --git a/drivers/usb/gadget/acm_ms.c b/drivers/usb/gadget/acm_ms.c index 4b947bb50f62..d7129623cb4b 100644 --- a/drivers/usb/gadget/acm_ms.c +++ b/drivers/usb/gadget/acm_ms.c | |||
@@ -224,7 +224,7 @@ static int __init init(void) | |||
224 | { | 224 | { |
225 | return usb_composite_probe(&acm_ms_driver); | 225 | return usb_composite_probe(&acm_ms_driver); |
226 | } | 226 | } |
227 | module_init(init); | 227 | late_initcall(init); |
228 | 228 | ||
229 | static void __exit cleanup(void) | 229 | static void __exit cleanup(void) |
230 | { | 230 | { |
diff --git a/drivers/usb/gadget/audio.c b/drivers/usb/gadget/audio.c index 231b0efe8fdc..04345a46692f 100644 --- a/drivers/usb/gadget/audio.c +++ b/drivers/usb/gadget/audio.c | |||
@@ -176,7 +176,7 @@ static int __init init(void) | |||
176 | { | 176 | { |
177 | return usb_composite_probe(&audio_driver); | 177 | return usb_composite_probe(&audio_driver); |
178 | } | 178 | } |
179 | module_init(init); | 179 | late_initcall(init); |
180 | 180 | ||
181 | static void __exit cleanup(void) | 181 | static void __exit cleanup(void) |
182 | { | 182 | { |
diff --git a/drivers/usb/gadget/cdc2.c b/drivers/usb/gadget/cdc2.c index 2c5255182769..35e19eb16f87 100644 --- a/drivers/usb/gadget/cdc2.c +++ b/drivers/usb/gadget/cdc2.c | |||
@@ -221,7 +221,7 @@ static int __init init(void) | |||
221 | { | 221 | { |
222 | return usb_composite_probe(&cdc_driver); | 222 | return usb_composite_probe(&cdc_driver); |
223 | } | 223 | } |
224 | module_init(init); | 224 | late_initcall(init); |
225 | 225 | ||
226 | static void __exit cleanup(void) | 226 | static void __exit cleanup(void) |
227 | { | 227 | { |
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 56c8ecae9bc3..2cc7e6668900 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c | |||
@@ -365,7 +365,7 @@ static int __init init(void) | |||
365 | { | 365 | { |
366 | return usb_composite_probe(ð_driver); | 366 | return usb_composite_probe(ð_driver); |
367 | } | 367 | } |
368 | module_init(init); | 368 | late_initcall(init); |
369 | 369 | ||
370 | static void __exit cleanup(void) | 370 | static void __exit cleanup(void) |
371 | { | 371 | { |
diff --git a/drivers/usb/gadget/gmidi.c b/drivers/usb/gadget/gmidi.c index e879e2c9f461..67bd00ade722 100644 --- a/drivers/usb/gadget/gmidi.c +++ b/drivers/usb/gadget/gmidi.c | |||
@@ -167,7 +167,7 @@ static int __init midi_init(void) | |||
167 | { | 167 | { |
168 | return usb_composite_probe(&midi_driver); | 168 | return usb_composite_probe(&midi_driver); |
169 | } | 169 | } |
170 | module_init(midi_init); | 170 | late_initcall(midi_init); |
171 | 171 | ||
172 | static void __exit midi_cleanup(void) | 172 | static void __exit midi_cleanup(void) |
173 | { | 173 | { |
diff --git a/drivers/usb/gadget/hid.c b/drivers/usb/gadget/hid.c index c36260ea8bf2..2371a7425680 100644 --- a/drivers/usb/gadget/hid.c +++ b/drivers/usb/gadget/hid.c | |||
@@ -256,7 +256,7 @@ static int __init hidg_init(void) | |||
256 | 256 | ||
257 | return status; | 257 | return status; |
258 | } | 258 | } |
259 | module_init(hidg_init); | 259 | late_initcall(hidg_init); |
260 | 260 | ||
261 | static void __exit hidg_cleanup(void) | 261 | static void __exit hidg_cleanup(void) |
262 | { | 262 | { |
diff --git a/drivers/usb/gadget/multi.c b/drivers/usb/gadget/multi.c index 4a45e80c6e38..fbce0d5060cf 100644 --- a/drivers/usb/gadget/multi.c +++ b/drivers/usb/gadget/multi.c | |||
@@ -365,7 +365,7 @@ static int __init multi_init(void) | |||
365 | { | 365 | { |
366 | return usb_composite_probe(&multi_driver); | 366 | return usb_composite_probe(&multi_driver); |
367 | } | 367 | } |
368 | module_init(multi_init); | 368 | late_initcall(multi_init); |
369 | 369 | ||
370 | static void __exit multi_exit(void) | 370 | static void __exit multi_exit(void) |
371 | { | 371 | { |
diff --git a/drivers/usb/gadget/ncm.c b/drivers/usb/gadget/ncm.c index 3b02fd4649ce..513c384ac7c5 100644 --- a/drivers/usb/gadget/ncm.c +++ b/drivers/usb/gadget/ncm.c | |||
@@ -196,7 +196,7 @@ static int __init init(void) | |||
196 | { | 196 | { |
197 | return usb_composite_probe(&ncm_driver); | 197 | return usb_composite_probe(&ncm_driver); |
198 | } | 198 | } |
199 | module_init(init); | 199 | late_initcall(init); |
200 | 200 | ||
201 | static void __exit cleanup(void) | 201 | static void __exit cleanup(void) |
202 | { | 202 | { |
diff --git a/drivers/usb/gadget/nokia.c b/drivers/usb/gadget/nokia.c index 3b344b41a167..ac159956453f 100644 --- a/drivers/usb/gadget/nokia.c +++ b/drivers/usb/gadget/nokia.c | |||
@@ -270,7 +270,7 @@ static int __init nokia_init(void) | |||
270 | { | 270 | { |
271 | return usb_composite_probe(&nokia_driver); | 271 | return usb_composite_probe(&nokia_driver); |
272 | } | 272 | } |
273 | module_init(nokia_init); | 273 | late_initcall(nokia_init); |
274 | 274 | ||
275 | static void __exit nokia_cleanup(void) | 275 | static void __exit nokia_cleanup(void) |
276 | { | 276 | { |
diff --git a/drivers/usb/gadget/printer.c b/drivers/usb/gadget/printer.c index bf7a56b6d48a..1b54f049112d 100644 --- a/drivers/usb/gadget/printer.c +++ b/drivers/usb/gadget/printer.c | |||
@@ -1281,7 +1281,7 @@ init(void) | |||
1281 | 1281 | ||
1282 | return status; | 1282 | return status; |
1283 | } | 1283 | } |
1284 | module_init(init); | 1284 | late_initcall(init); |
1285 | 1285 | ||
1286 | static void __exit | 1286 | static void __exit |
1287 | cleanup(void) | 1287 | cleanup(void) |
diff --git a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c index 1f5f978d35d5..0c7b826e46fc 100644 --- a/drivers/usb/gadget/serial.c +++ b/drivers/usb/gadget/serial.c | |||
@@ -267,7 +267,7 @@ static int __init init(void) | |||
267 | 267 | ||
268 | return usb_composite_probe(&gserial_driver); | 268 | return usb_composite_probe(&gserial_driver); |
269 | } | 269 | } |
270 | module_init(init); | 270 | late_initcall(init); |
271 | 271 | ||
272 | static void __exit cleanup(void) | 272 | static void __exit cleanup(void) |
273 | { | 273 | { |
diff --git a/drivers/usb/gadget/webcam.c b/drivers/usb/gadget/webcam.c index 8cef1e658c29..79655b9e23af 100644 --- a/drivers/usb/gadget/webcam.c +++ b/drivers/usb/gadget/webcam.c | |||
@@ -402,7 +402,7 @@ webcam_cleanup(void) | |||
402 | usb_composite_unregister(&webcam_driver); | 402 | usb_composite_unregister(&webcam_driver); |
403 | } | 403 | } |
404 | 404 | ||
405 | module_init(webcam_init); | 405 | late_initcall(webcam_init); |
406 | module_exit(webcam_cleanup); | 406 | module_exit(webcam_cleanup); |
407 | 407 | ||
408 | MODULE_AUTHOR("Laurent Pinchart"); | 408 | MODULE_AUTHOR("Laurent Pinchart"); |
diff --git a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c index 0dd07ae1555d..4cce2585c9d0 100644 --- a/drivers/usb/gadget/zero.c +++ b/drivers/usb/gadget/zero.c | |||
@@ -418,7 +418,7 @@ static int __init init(void) | |||
418 | { | 418 | { |
419 | return usb_composite_probe(&zero_driver); | 419 | return usb_composite_probe(&zero_driver); |
420 | } | 420 | } |
421 | module_init(init); | 421 | late_initcall(init); |
422 | 422 | ||
423 | static void __exit cleanup(void) | 423 | static void __exit cleanup(void) |
424 | { | 424 | { |