On 31/07/08 23:12, Simon Arlott wrote:
quoted text > On 31/07/08 22:56, Greg KH wrote:
>> On Thu, Jul 31, 2008 at 07:29:21PM +0100, Simon Arlott wrote:
>>>>> There is nothing else to run between 1-2 and 3, so there is no
>>>>> opportunity
>>>>> to initialise devices in the background and usblp_init blocks for a
>>>>> while.
>>>> If it were a module then it would block in a separate thread and
>>>> wouldn't hold up the main init process.
>>>
>>> Right, but I want to compile all of this into the kernel.
>>
>> Why? It sounds like a trivial solution for you is to actually use
>> modules. Why go through a lot of extra work to solve something in a
>> different way that is already solved for you?
>
> Because it looks like doing HCD init early enough is a simple way to
> speed up boot time if there are any compiled-in usb device drivers,
> without running the HCD init itself from a separate thread.
>
> Arjan, are you able to test this?
> I'll try doing what I've suggested later tonight if I have time.
I've tested this with fastboot disabled, the hcd initcalls changed
back to module_init, all my drivers changed to late_initcall to
force them to be later while usb/ is before net/ in the drivers/
Makefile.
--
Simon Arlott