<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/power/disk.c, branch v2.6.27.59</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/kernel/power/disk.c?h=v2.6.27.59</id>
<link rel='self' href='https://git.amat.us/linux/atom/kernel/power/disk.c?h=v2.6.27.59'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2008-08-28T19:27:39Z</updated>
<entry>
<title>ftrace: disable tracing for hibernation</title>
<updated>2008-08-28T19:27:39Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2008-08-28T12:39:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=41108eb10142e0552f2de1e4c0675b108c5f018f'/>
<id>urn:sha1:41108eb10142e0552f2de1e4c0675b108c5f018f</id>
<content type='text'>
In accordance with commit f42ac38c59e0a03d6da0c24a63fb211393f484b0
("ftrace: disable tracing for suspend to ram"), disable tracing
around the suspend code in hibernation code paths.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Steven Rostedt &lt;srostedt@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Suspend-related patches for 2.6.27</title>
<updated>2008-06-12T21:25:09Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2008-06-12T21:24:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d8f3de0d2412bb91639cfefc5b3c79dbf3812212'/>
<id>urn:sha1:d8f3de0d2412bb91639cfefc5b3c79dbf3812212</id>
<content type='text'>
ACPI PM: Add possibility to change suspend sequence

There are some systems out there that don't work correctly with
our current suspend/hibernation code ordering.  Provide a workaround
for these systems allowing them to pass 'acpi_sleep=old_ordering' in
the kernel command line so that it will use the pre-ACPI 2.0 ("old")
suspend code ordering.

Unfortunately, this requires us to add a platform hook to the
resuming of devices for recovering the platform in case one of the
device drivers' .suspend() routines returns error code.  Namely,
ACPI 1.0 specifies that _PTS should be called before suspending
devices, but _WAK still should be called before resuming them in
order to undo the changes made by _PTS.  However, if there is an
error during suspending devices, they are automatically resumed
without returning control to the PM core, so the _WAK has to be
called from within device_resume() in that cases.

The patch also reorders and refactors the ACPI suspend/hibernation
code to avoid duplication as far as reasonably possible.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Pavel Machek &lt;pavel@suse.cz&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>Introduce new top level suspend and hibernation callbacks</title>
<updated>2008-06-10T17:59:50Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2008-05-20T21:00:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1eede070a59e1cc73da51e1aaa00d9ab86572cfc'/>
<id>urn:sha1:1eede070a59e1cc73da51e1aaa00d9ab86572cfc</id>
<content type='text'>
Introduce 'struct pm_ops' and 'struct pm_ext_ops' ('ext' meaning
'extended') representing suspend and hibernation operations for bus
types, device classes, device types and device drivers.

Modify the PM core to use 'struct pm_ops' and 'struct pm_ext_ops'
objects, if defined, instead of the -&gt;suspend(), -&gt;resume(),
-&gt;suspend_late(), and -&gt;resume_early() callbacks (the old callbacks
will be considered as legacy and gradually phased out).

The main purpose of doing this is to separate suspend (aka S2RAM and
standby) callbacks from hibernation callbacks in such a way that the
new callbacks won't take arguments and the semantics of each of them
will be clearly specified.  This has been requested for multiple
times by many people, including Linus himself, and the reason is that
within the current scheme if -&gt;resume() is called, for example, it's
difficult to say why it's been called (ie. is it a resume from RAM or
from hibernation or a suspend/hibernation failure etc.?).

The second purpose is to make the suspend/hibernation callbacks more
flexible so that device drivers can handle more than they can within
the current scheme.  For example, some drivers may need to prevent
new children of the device from being registered before their
-&gt;suspend() callbacks are executed or they may want to carry out some
operations requiring the availability of some other devices, not
directly bound via the parent-child relationship, in order to prepare
for the execution of -&gt;suspend(), etc.

Ultimately, we'd like to stop using the freezing of tasks for suspend
and therefore the drivers' suspend/hibernation code will have to take
care of the handling of the user space during suspend/hibernation.
That, in turn, would be difficult within the current scheme, without
the new -&gt;prepare() and -&gt;complete() callbacks.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PM: Introduce PM_EVENT_HIBERNATE callback state</title>
<updated>2008-02-23T18:40:04Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2008-02-23T18:13:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3a2d5b700132f35401f1d9e22fe3c2cab02c2549'/>
<id>urn:sha1:3a2d5b700132f35401f1d9e22fe3c2cab02c2549</id>
<content type='text'>
During the last step of hibernation in the "platform" mode (with the
help of ACPI) we use the suspend code, including the devices'
-&gt;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
-&gt;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' -&gt;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 &lt;rjw@sisk.pl&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Tested-by: Jeff Chua &lt;jeff.chua.linux@gmail.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>kernel/power/disk.c: make code static</title>
<updated>2008-02-05T17:44:22Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@kernel.org</email>
</author>
<published>2008-02-05T06:30:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=47a460d5a307e639d6c9cdf9bb4857e2f5f3cb76'/>
<id>urn:sha1:47a460d5a307e639d6c9cdf9bb4857e2f5f3cb76</id>
<content type='text'>
resume_file[] and create_image() can become static.

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Hibernation: Invoke suspend notifications after console switch</title>
<updated>2008-02-01T23:30:59Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2008-01-11T00:25:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5a0a2f304612bd63948177fef05987f4bcaddcaf'/>
<id>urn:sha1:5a0a2f304612bd63948177fef05987f4bcaddcaf</id>
<content type='text'>
Following the recent change in the suspend code path, switch consoles before
calling PM notifiers during hibernation.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Hibernation: Introduce begin() and end() callbacks</title>
<updated>2008-02-01T23:30:58Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2008-01-07T23:08:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=caea99ef339af8e07cda8d03fa415e4b8820f400'/>
<id>urn:sha1:caea99ef339af8e07cda8d03fa415e4b8820f400</id>
<content type='text'>
Introduce global hibernation callback .end() and rename global
hibernation callback .start() to .begin(), in analogy with the
recent modifications of the global suspend callbacks.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Hibernation: Update messages</title>
<updated>2008-02-01T23:30:55Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2007-12-08T01:09:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=23976728a48c3b76d34e17ead19addd52b3a280e'/>
<id>urn:sha1:23976728a48c3b76d34e17ead19addd52b3a280e</id>
<content type='text'>
Make hibernation messages start with one common prefix "PM: " and use
the word "hibernation" in the messages as a synonym of "suspend to
disk".

Turn some KERN_INFO messages into debug ones.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Hibernation: Fix comment in disk.c</title>
<updated>2008-02-01T23:30:55Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2007-12-08T01:06:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9575809c6fc15e7b6bb1932b6104c80a6d4ffdc9'/>
<id>urn:sha1:9575809c6fc15e7b6bb1932b6104c80a6d4ffdc9</id>
<content type='text'>
Fix a comment in kernel/power/disk.c so that it doesn't contain lines
longer that 80 characters.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Hibernation: Move low level resume to disk.c</title>
<updated>2008-02-01T23:30:54Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2007-12-08T01:04:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=72df68ca8e006a0107933c4fb13c741a0a48163f'/>
<id>urn:sha1:72df68ca8e006a0107933c4fb13c741a0a48163f</id>
<content type='text'>
Move the low level restore code to kernel/power/disk.c , since the
corresponding low level hibernation code is already there.

Make restore fail if device_power_down(PMSG_PRETHAW) returns an
error.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
</feed>
