public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* PATCH/RFC:  driver model/pmcore wakeup hooks (0/4)
@ 2004-10-04 20:54 David Brownell
  2004-10-05 19:32 ` Pavel Machek
  0 siblings, 1 reply; 3+ messages in thread
From: David Brownell @ 2004-10-04 20:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-usb-devel

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-10-05 20:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-04 20:54 PATCH/RFC: driver model/pmcore wakeup hooks (0/4) David Brownell
2004-10-05 19:32 ` Pavel Machek
2004-10-05 20:01   ` David Brownell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox