]> git.baikalelectronics.ru Git - kernel.git/commit
PM / Core: Introduce struct syscore_ops for core subsystems PM
authorRafael J. Wysocki <rjw@sisk.pl>
Mon, 14 Mar 2011 23:43:46 +0000 (00:43 +0100)
committerRafael J. Wysocki <rjw@sisk.pl>
Mon, 14 Mar 2011 23:43:46 +0000 (00:43 +0100)
commit0f9f5e4666bb8f152a75e8355f839c1d121b9128
tree0a778159cf89ddee9e7d3134ae40569bdccd2a24
parent1e043349b751e60f7c5fc72cbac5bd8ffa3f6875
PM / Core: Introduce struct syscore_ops for core subsystems PM

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 <rjw@sisk.pl>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/base/Makefile
drivers/base/syscore.c [new file with mode: 0644]
include/linux/syscore_ops.h [new file with mode: 0644]
kernel/power/hibernate.c
kernel/power/suspend.c
kernel/sys.c