Messages in this thread | | | Date | Wed, 6 Aug 2008 18:34:52 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [PATCH RFC] USB: Add HCD fastboot |
| |
On Wed, 6 Aug 2008, Simon Arlott wrote:
> > Doing the HCD initcalls last certainly ought to work. > > Right - so then all that's needed is to move usb/ before most other things that > take a while to init, and it has some time to initialise usb devices in the > background.
Not exactly -- you should move most of usb/ forward so that it comes before usb/host/. Or alternatively move usb/host/ later so that it comes after the rest of usb/.
> > So what exactly do you recommend? > > I'm not an expert on what can be done with the Makefile process, perhaps there's > an easier way to move things around based on a config option. If host init is > moved before device init for everyone, wouldn't there be too many side effects?
Doesn't the host init _already_ come before device init? If host init were moved _after_ device init, I don't think there would be a lot of side effects. But it's hard to be sure without trying it.
> Lack of a keyboard makes it impossible to do anything if the module fails to > load... as I understand it when the HCD init runs, any BIOS emulation stops?
That's right. The host driver kicks the BIOS off the hardware.
> Although if HCD is a module too... > > >> If even one device driver and the hcd is compiled in, they'd need to > >> wait for every USB device to finish init before the usbhid probe could complete. > > > > What if usbhid is the one device driver that is compiled in? :-) > > That was the situation I was thinking of - surely that would be compiled in > if the HCDs were?
I noticed in your logs earlier that some of your USB drivers were compiled in and others weren't. Maybe if _all_ of them were compiled in you wouldn't experience as much contention and the init delays would be shorter.
Alan Stern
| |