[PATCH] USB: EHCI updates split init/reinit logic for resume
authorDavid Brownell <david-b@pacbell.net>
Wed, 23 Nov 2005 23:45:37 +0000 (15:45 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 24 Nov 2005 07:04:28 +0000 (23:04 -0800)
commit188075211cc75a31190de4a19a084e3d83ee1c89
tree71649a9b269580f460ad76de4b061741c4a22e23
parentabcc94480634f6fe9fc29b821261e8162c87ddd2
[PATCH] USB: EHCI updates split init/reinit logic for resume

Moving the PCI-specific parts of the EHCI driver into their own file
created a few issues ... notably on resume paths which (like swsusp)
require re-initializing the controller.  This patch:

 - Splits the EHCI startup code into run-once HCD setup code and
   separate "init the hardware" reinit code.  (That reinit code is
   a superset of the "early usb handoff" code.)

 - Then it makes the PCI init code run both, and the resume code only
   run the reinit code.

 - It also removes needless pci wrappers around EHCI start/stop methods.

 - Removes a byteswap issue that would be seen on big-endian hardware.

The HCD glue still doesn't actually provide a good way to do all this
run-one init stuff in one place though.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/usb/host/ehci-hcd.c
drivers/usb/host/ehci-pci.c