Messages in this thread | | | From | David Brownell <> | Subject | PATCH/RFC: driver model/pmcore wakeup hooks (0/4) | Date | Mon, 4 Oct 2004 13:54:37 -0700 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |