Rafael J. Wysocki
3a2d5b7001
PM: Introduce PM_EVENT_HIBERNATE callback state
...
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 >
2008-02-23 10:40:04 -08:00
..
2008-02-11 10:20:54 -06:00
2008-02-23 10:40:04 -08:00
2008-02-11 13:36:31 -06:00
2008-02-07 18:02:44 -06:00
2008-02-11 12:43:12 -06:00
2008-02-06 10:41:01 -08:00
2008-02-19 11:36:56 +01:00
2008-02-11 17:52:58 -06:00
2008-02-11 10:20:53 -06:00
2008-02-05 09:44:08 -08:00
2008-02-07 18:02:40 -06:00
2008-02-07 18:02:35 -06:00
2008-02-07 18:02:34 -06:00
2008-01-11 18:22:30 -06:00
2008-01-30 13:14:02 -06:00
2007-07-21 08:57:40 -05:00
2008-01-30 13:14:02 -06:00
2008-01-23 11:29:27 -06:00
2007-06-17 16:15:56 -05:00
2008-01-30 13:14:02 -06:00
2007-06-17 16:09:29 -05:00
2008-02-06 10:41:01 -08:00
2008-02-06 10:41:01 -08:00
2007-10-12 14:41:00 -04:00
2008-02-11 10:20:53 -06:00
2008-01-11 18:22:34 -06:00
2007-08-04 09:11:06 -05:00
2008-02-03 16:36:24 +02:00
2008-01-30 13:14:02 -06:00
2008-02-06 10:41:01 -08:00
2008-01-11 18:28:57 -06:00
2007-11-25 12:19:26 +02:00
2008-01-11 18:22:38 -06:00
2008-01-30 13:14:02 -06:00
2007-10-12 14:41:00 -04:00
2008-01-25 09:22:12 -06:00
2008-01-11 18:22:40 -06:00
2008-02-07 18:02:43 -06:00
2008-01-30 13:14:02 -06:00
2007-12-10 19:43:54 -08:00
2007-11-25 12:19:26 +02:00
2008-01-23 11:29:26 -06:00
2008-01-30 13:14:02 -06:00
2007-12-10 19:43:55 -08:00
2007-07-31 10:51:25 -05:00
2008-01-11 18:22:35 -06:00
2007-10-22 21:19:53 +02:00
2007-10-19 11:53:42 -07:00
2007-11-25 12:19:26 +02:00
2007-10-12 14:56:09 -04:00
2007-10-12 14:55:46 -04:00
2008-02-13 09:33:10 -06:00
2007-10-12 14:56:13 -04:00
2008-02-06 10:41:01 -08:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-11 18:28:06 -06:00
2008-01-30 13:14:02 -06:00
2008-02-06 02:57:51 +01:00
2008-01-11 18:22:41 -06:00
2008-01-11 18:22:36 -06:00
2008-01-30 13:14:02 -06:00
2007-05-22 11:08:56 -05:00
2008-02-19 11:36:56 +01:00
2007-05-08 11:54:40 -05:00
2008-02-03 17:28:22 +02:00
2008-01-11 18:27:59 -06:00
2008-02-07 18:02:37 -06:00
2008-01-11 18:28:48 -06:00
2007-05-31 17:30:04 -04:00
2008-02-13 09:33:10 -06:00
2007-07-19 10:04:50 -07:00
2008-02-07 18:02:37 -06:00
2008-01-30 13:03:40 -06:00
2008-01-30 13:14:02 -06:00
2007-11-25 12:19:26 +02:00
2008-02-07 18:04:10 -06:00
2008-01-30 13:14:02 -06:00
2007-05-08 11:15:08 -05:00
2008-02-23 10:40:04 -08:00
2007-10-12 14:41:00 -04:00
2008-01-30 13:03:39 -06:00
2007-10-12 14:51:18 -04:00
2008-01-30 13:14:02 -06:00
2008-01-23 13:44:31 -06:00
2007-10-12 14:55:07 -04:00
2007-10-12 14:41:00 -04:00
2007-07-19 10:04:50 -07:00
2008-01-30 13:14:02 -06:00
2007-10-19 11:53:42 -07:00
2007-10-27 14:31:06 -05:00
2007-10-12 14:50:55 -04:00
2007-11-25 12:19:26 +02:00
2008-01-11 18:22:41 -06:00
2008-02-07 18:02:33 -06:00
2008-01-30 13:14:02 -06:00
2007-10-23 12:35:35 -04:00
2007-10-22 21:19:53 +02:00
2008-01-30 13:14:02 -06:00
2008-01-23 11:29:27 -06:00
2007-10-12 14:52:38 -04:00
2008-01-30 13:14:25 -06:00
2008-01-11 18:22:44 -06:00
2008-01-30 13:03:41 -06:00
2008-01-11 18:22:50 -06:00
2007-07-14 19:28:10 -05:00
2008-02-19 11:36:35 +01:00
2008-01-28 15:08:07 -08:00
2008-01-23 11:37:44 -06:00
2008-01-11 18:22:40 -06:00
2008-01-23 11:29:17 -06:00
2007-07-18 11:16:32 -05:00
2008-01-23 11:29:17 -06:00
2008-01-11 18:22:30 -06:00
2008-02-03 17:28:22 +02:00
2007-10-12 14:37:50 -04:00
2007-10-12 14:46:58 -04:00
2008-01-11 18:22:40 -06:00
2008-02-07 18:02:38 -06:00
2008-02-03 17:28:22 +02:00
2008-01-23 11:29:18 -06:00
2007-10-12 14:38:09 -04:00
2008-01-11 18:22:45 -06:00
2008-02-07 18:02:42 -06:00
2008-01-11 18:22:40 -06:00
2008-02-23 10:40:04 -08:00
2008-02-11 11:00:48 -06:00
2008-02-07 19:09:22 -08:00
2008-01-30 13:03:39 -06:00
2007-07-22 11:36:49 -07:00
2007-07-14 19:12:15 -05:00
2008-02-07 18:02:44 -06:00
2008-02-07 18:02:44 -06:00
2008-02-07 18:02:44 -06:00
2008-01-23 11:29:29 -06:00
2007-07-31 10:44:01 -05:00
2008-01-30 13:14:02 -06:00
2008-01-11 18:28:57 -06:00
2007-11-25 12:19:26 +02:00
2007-11-25 12:19:26 +02:00
2008-02-07 18:02:33 -06:00
2007-05-31 17:30:04 -04:00
2008-02-12 15:24:58 -06:00
2007-11-25 12:19:26 +02:00
2008-01-23 11:29:27 -06:00
2007-07-14 18:56:33 -05:00
2008-02-07 18:02:44 -06:00
2008-01-30 13:14:02 -06:00
2008-01-11 18:22:35 -06:00
2007-10-19 23:22:55 +02:00
2008-01-30 13:14:02 -06:00
2007-11-29 09:24:52 -08:00