USB: change hub initialization sleeps to delayed_work
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 22 Sep 2008 18:44:26 +0000 (14:44 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 17 Oct 2008 21:40:57 +0000 (14:40 -0700)
commit8520f38099ccfdac2147a0852f84ee7a8ee5e197
treecefc0256d9af7088992b7ed02bdae8ba95bf68fa
parent3c4bb71f96c69ef3c81fda108c96b633a2000de2
USB: change hub initialization sleeps to delayed_work

This patch (as1137) changes the hub_activate() routine, replacing the
power-power-up and debounce delays with delayed_work calls.  The idea
is that on systems where the USB stack is compiled into the kernel
rather than built as modules, these delays will no longer block the
boot thread.  At least 100 ms is saved for each root hub, which can
add up to a significant savings in total boot time.

Arjan van de Ven was very pleased to see that this shaved 700 ms off
his computer's boot time.  Since his total boot time is on the order
of two seconds, the improvement is considerable.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/hub.c