Hi,
Following this will be four patches. These four patches, all curiously
about the same size, have been tested:
- with and without CONFIG_USB_SUSPEND
- using S1/standby and the default STD "shutdown" support
- with and without usb devices connected during suspend/resume
- on two different implementations of EHCI and OHCI
- with both EHCI and OHCI loaded, or only one
- for OHCI, controllers both with and without PCI PM support
- for EHCI, controllers both with and without power switching.
- with BIOS drivers for USB keyboards/mice disabled
And they all worked, which is a milestone! Though I suspect at a few
of the 2^7 combinations there could still stand more work, and there are
other things that need attention too. Some devices may misbehave; most
USB drivers don't have suspend/resume support; the other STD modes need
testing; USB wakeup through ACPI is about ready to try; and so on.
I'm thinking that these should all get merged. In particular, there
have been some significant problems recently with OHCI recently, and
these fix them for me; 2.6.10 shouldn't ship with those problems.
Comments?
- Dave
s1-1107.patch
hcd-pci.c | 151
+++++++++++++++++++++++++++++++-------------------------------
1 files changed, 77 insertions(+), 74 deletions(-)
Uses the same code path both with and without CONFIG_USB_SUSPEND;
if USB_SUSPEND is in use, or a hub (like OHCI) autosuspends, that
just means something else did that work already.
Note that only USB_SUSPEND currently kicks in hub suspend logic;
that should probably move into CONFIG_PM, so that there's a clean
way to make hubs quiesce other than disconnect and reset paths.
s2-1107.patch
hcd.c | 42 ++++++++++++++++++++++++------------------
hub.c | 26 ++++++++++++++------------
usb.c | 8 ++++----
3 files changed, 42 insertions(+), 34 deletions(-)
This starts remove driver model power_state moves from usbcore.
It goes into bus glue (and hopefully from there it will vanish).
This handles USB device state (like CONFIGURED, SUSPENDED, etc)
better for root hubs, though it won't do that for any device
unless USB_SUSPEND is in use.
There are also several smaller bugfixes here, including a locking
fix, handling some root hub timer races during the suspend/resume
sequence, and cleaning up better after one "HC died" sequence.
s3-1107.patch
ohci-hcd.c | 12 +++++++-----
ohci-hub.c | 52 ++++++++++++++++++++++++----------------------------
ohci-pci.c | 5 ++---
3 files changed, 33 insertions(+), 36 deletions(-)
OHCI updates matching the usbcore changes above, and to work
both with and without USB_SUSPEND.
s4-1107.patch
ehci-hcd.c | 39 ++++++++++++++++++++++-----------------
ehci-hub.c | 44 +++++++++++++++++++++++++-------------------
2 files changed, 47 insertions(+), 36 deletions(-)
EHCI updates matching the above. APM-resume fixes from Nikolai
Zeldovich. Adds a missing register re-init, and power up ports
after resume (needed on some hardware).
-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel