diff options
author | Peter Chen <peter.chen@freescale.com> | 2013-09-23 11:20:08 +0800 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2015-04-14 14:01:51 -0500 |
commit | 89931eda832db8e42038d3593163a8579d581f29 (patch) | |
tree | f7e0f49ae036c9db45d165bb3f26603aab250245 /drivers/usb/gadget/ether.c | |
parent | 1dac5bb977be0ecfd98cab8d1fbb3ce6cb6b090c (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>
Diffstat (limited to 'drivers/usb/gadget/ether.c')
-rw-r--r-- | drivers/usb/gadget/ether.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index c1c113ef950c..e0722e9a843c 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c @@ -483,7 +483,7 @@ static int __init init(void) { return usb_composite_probe(ð_driver); } -module_init(init); +late_initcall(init); static void __exit cleanup(void) { |