3a2d5b7001
During the last step of hibernation in the "platform" mode (with the help of ACPI) we use the suspend code, including the devices' ->suspend() methods, to prepare the system for entering the ACPI S4 system sleep state. But at least for some devices the operations performed by the ->suspend() callback in that case must be different from its operations during regular suspend. For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and pass it to the device drivers' ->suspend() methods during the last phase of hibernation, so that they can distinguish this case and handle it as appropriate. Modify the drivers that handle PM_EVENT_SUSPEND in a special way and need to handle PM_EVENT_HIBERNATE in the same way. These changes are necessary to fix a hibernation regression related to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488). Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Tested-by: Jeff Chua <jeff.chua.linux@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
ehci-au1xxx.c | ||
ehci-dbg.c | ||
ehci-fsl.c | ||
ehci-fsl.h | ||
ehci-hcd.c | ||
ehci-hub.c | ||
ehci-ixp4xx.c | ||
ehci-mem.c | ||
ehci-orion.c | ||
ehci-pci.c | ||
ehci-ppc-of.c | ||
ehci-ppc-soc.c | ||
ehci-ps3.c | ||
ehci-q.c | ||
ehci-sched.c | ||
ehci.h | ||
isp116x-hcd.c | ||
isp116x.h | ||
Kconfig | ||
Makefile | ||
ohci-at91.c | ||
ohci-au1xxx.c | ||
ohci-dbg.c | ||
ohci-ep93xx.c | ||
ohci-hcd.c | ||
ohci-hub.c | ||
ohci-lh7a404.c | ||
ohci-mem.c | ||
ohci-omap.c | ||
ohci-pci.c | ||
ohci-pnx4008.c | ||
ohci-pnx8550.c | ||
ohci-ppc-of.c | ||
ohci-ppc-soc.c | ||
ohci-ps3.c | ||
ohci-pxa27x.c | ||
ohci-q.c | ||
ohci-s3c2410.c | ||
ohci-sa1111.c | ||
ohci-sh.c | ||
ohci-sm501.c | ||
ohci-ssb.c | ||
ohci.h | ||
pci-quirks.c | ||
pci-quirks.h | ||
r8a66597-hcd.c | ||
r8a66597.h | ||
sl811_cs.c | ||
sl811-hcd.c | ||
sl811.h | ||
u132-hcd.c | ||
uhci-debug.c | ||
uhci-hcd.c | ||
uhci-hcd.h | ||
uhci-hub.c | ||
uhci-q.c |