<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/base/syscore.c, branch v3.12.10</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/base/syscore.c?h=v3.12.10</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/base/syscore.c?h=v3.12.10'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-07-11T08:51:49Z</updated>
<entry>
<title>PM: Reintroduce dropped call to check_wakeup_irqs</title>
<updated>2011-07-11T08:51:49Z</updated>
<author>
<name>Colin Cross</name>
<email>ccross@android.com</email>
</author>
<published>2011-07-11T08:51:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=887596224cca4dc4669c53e4d7a33fcfc9d9e823'/>
<id>urn:sha1:887596224cca4dc4669c53e4d7a33fcfc9d9e823</id>
<content type='text'>
Patch 2e711c04dbbf7a7732a3f7073b1fc285d12b369d
(PM: Remove sysdev suspend, resume and shutdown operations)
deleted sysdev_suspend(), which was being relied on to call
check_wakeup_irqs() in suspend.  If check_wakeup_irqs() is not
called, wake interrupts that are pending when suspend is
entered may be lost.  It also breaks IRQCHIP_MASK_ON_SUSPEND,
which is handled in check_wakeup_irqs().

This patch adds a call to check_wakeup_irqs() in syscore_suspend(),
similar to what was deleted in sysdev_suspend().

Signed-off-by: Colin Cross &lt;ccross@android.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
</content>
</entry>
<entry>
<title>PM: Add missing syscore_suspend() and syscore_resume() calls</title>
<updated>2011-04-19T22:36:11Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2011-04-19T22:36:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=19234c0819da0e043a02710488dfd9b242b42eba'/>
<id>urn:sha1:19234c0819da0e043a02710488dfd9b242b42eba</id>
<content type='text'>
Device suspend/resume infrastructure is used not only by the suspend
and hibernate code in kernel/power, but also by APM, Xen and the
kexec jump feature.  However, commit 40dc166cb5dddbd36aa4ad11c03915ea
(PM / Core: Introduce struct syscore_ops for core subsystems PM)
failed to add syscore_suspend() and syscore_resume() calls to that
code, which generally leads to breakage when the features in question
are used.

To fix this problem, add the missing syscore_suspend() and
syscore_resume() calls to arch/x86/kernel/apm_32.c, kernel/kexec.c
and drivers/xen/manage.c.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Acked-by: Ian Campbell &lt;ian.campbell@citrix.com&gt;
</content>
</entry>
<entry>
<title>PM / Core: Introduce struct syscore_ops for core subsystems PM</title>
<updated>2011-03-14T23:43:46Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2011-03-14T23:43:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=40dc166cb5dddbd36aa4ad11c03915ea538f5a61'/>
<id>urn:sha1:40dc166cb5dddbd36aa4ad11c03915ea538f5a61</id>
<content type='text'>
Some subsystems need to carry out suspend/resume and shutdown
operations with one CPU on-line and interrupts disabled.  The only
way to register such operations is to define a sysdev class and
a sysdev specifically for this purpose which is cumbersome and
inefficient.  Moreover, the arguments taken by sysdev suspend,
resume and shutdown callbacks are practically never necessary.

For this reason, introduce a simpler interface allowing subsystems
to register operations to be executed very late during system suspend
and shutdown and very early during resume in the form of
strcut syscore_ops objects.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
</feed>
