aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2013-09-22 23:20:08 -0400
committerPeter Chen <peter.chen@freescale.com>2014-07-04 05:31:06 -0400
commitdbf45927ac7e149c28a3aac4bfa7768acbbb8e35 (patch)
treefd6e7a1c30d0c2716a1100cb322c6acdb7e3df7e
parent2275dc85cecd4d32e31fc4d5223890f0a0f833c1 (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.c2
-rw-r--r--drivers/usb/gadget/audio.c2
-rw-r--r--drivers/usb/gadget/cdc2.c2
-rw-r--r--drivers/usb/gadget/ether.c2
-rw-r--r--drivers/usb/gadget/gmidi.c2
-rw-r--r--drivers/usb/gadget/hid.c2
-rw-r--r--drivers/usb/gadget/multi.c2
-rw-r--r--drivers/usb/gadget/ncm.c2
-rw-r--r--drivers/usb/gadget/nokia.c2
-rw-r--r--drivers/usb/gadget/printer.c2
-rw-r--r--drivers/usb/gadget/serial.c2
-rw-r--r--drivers/usb/gadget/webcam.c2
-rw-r--r--drivers/usb/gadget/zero.c2
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}
227module_init(init); 227late_initcall(init);
228 228
229static void __exit cleanup(void) 229static 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}
179module_init(init); 179late_initcall(init);
180 180
181static void __exit cleanup(void) 181static 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}
224module_init(init); 224late_initcall(init);
225 225
226static void __exit cleanup(void) 226static 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(&eth_driver); 366 return usb_composite_probe(&eth_driver);
367} 367}
368module_init(init); 368late_initcall(init);
369 369
370static void __exit cleanup(void) 370static 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}
170module_init(midi_init); 170late_initcall(midi_init);
171 171
172static void __exit midi_cleanup(void) 172static 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}
259module_init(hidg_init); 259late_initcall(hidg_init);
260 260
261static void __exit hidg_cleanup(void) 261static 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}
368module_init(multi_init); 368late_initcall(multi_init);
369 369
370static void __exit multi_exit(void) 370static 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}
199module_init(init); 199late_initcall(init);
200 200
201static void __exit cleanup(void) 201static 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}
273module_init(nokia_init); 273late_initcall(nokia_init);
274 274
275static void __exit nokia_cleanup(void) 275static 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}
1284module_init(init); 1284late_initcall(init);
1285 1285
1286static void __exit 1286static void __exit
1287cleanup(void) 1287cleanup(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}
270module_init(init); 270late_initcall(init);
271 271
272static void __exit cleanup(void) 272static 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
405module_init(webcam_init); 405late_initcall(webcam_init);
406module_exit(webcam_cleanup); 406module_exit(webcam_cleanup);
407 407
408MODULE_AUTHOR("Laurent Pinchart"); 408MODULE_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}
421module_init(init); 421late_initcall(init);
422 422
423static void __exit cleanup(void) 423static void __exit cleanup(void)
424{ 424{