PATCH/RFC: driver model/pmcore wakeup hooks (0/4)
From: David Brownell
Date: Mon Oct 04 2004 - 16:50:24 EST
There's been some discussion about limitations of the current
pmcore for systems that want to be partially suspended most
of the time. That is, where the power management needs to
affect ACPI G0 states, not G1 states like S1/S3/S4, and isn't cpufreq.
One significant example involves USB mice. If they were to be
suspended (usb_suspend_device) after a few seconds of inactivity,
that change could often spread up the device tree and let the
USB host controller stop DMA access. Some x86 CPUs could
then enter C3 and save a couple Watts of battery power ... until
the mouse moved, and woke that branch of the device tree
for a while (until the mouse went idle again).
Most of the parts for that are now in place. But trying to use
them will turn up places where the pieces don't fit together
very well yet ... and wakeup support is one of them! So for
example it's not possible to disable such an autosuspend
mechanism for mice that can't actually issue wakeups.
So here are a few patches that add some driver model support
for wakeup capabilities, and use it for PCI and USB.
- wake-core.patch, adds two bits and sysfs control over one of them
- wake-pci.patch, makes pci use those bits
- wake-usbcore.patch, makes usb do so (replacing code/hacks)
- wake-ohci.patch, matching wake-usbcore
The patches follow this, going to LKML.
Comments?
- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/