linux/arch
Rafael J. Wysocki f3c6ea1b06 x86: Use syscore_ops instead of sysdev classes and sysdevs
Some subsystems in the x86 tree need to carry out suspend/resume and
shutdown operations with one CPU on-line and interrupts disabled and
they define sysdev classes and sysdevs or sysdev drivers for this
purpose.  This leads to unnecessarily complicated code and excessive
memory usage, so switch them to using struct syscore_ops objects for
this purpose instead.

Generally, there are three categories of subsystems that use
sysdevs for implementing PM operations: (1) subsystems whose
suspend/resume callbacks ignore their arguments entirely (the
majority), (2) subsystems whose suspend/resume callbacks use their
struct sys_device argument, but don't really need to do that,
because they can be implemented differently in an arguably simpler
way (io_apic.c), and (3) subsystems whose suspend/resume callbacks
use their struct sys_device argument, but the value of that argument
is always the same and could be ignored (microcode_core.c).  In all
of these cases the subsystems in question may be readily converted to
using struct syscore_ops objects for power management and shutdown.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
2011-03-23 22:15:54 +01:00
..
alpha add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2011-03-23 07:58:09 -07:00
avr32 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-03-22 17:53:13 -07:00
blackfin Blackfin: ip0x: fix unused variable warning 2011-03-18 05:17:02 -04:00
cris add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
frv add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
h8300 add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
ia64 add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
m32r add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
m68k add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
m68knommu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2011-03-16 19:02:36 -07:00
microblaze Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
mips add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
mn10300 add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
parisc add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
powerpc add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
s390 add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
score mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
sh mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
sparc add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
tile mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
um um: remove file pointer from ioctl 2011-03-22 17:44:09 -07:00
unicore32 unicore32: rewrite arch-specific tlb.h to use asm-generic version 2011-03-17 09:19:21 +08:00
x86 x86: Use syscore_ops instead of sysdev classes and sysdevs 2011-03-23 22:15:54 +01:00
xtensa add the common dma_addr_t typedef to include/linux/types.h 2011-03-22 17:44:09 -07:00
.gitignore
Kconfig oprofile, s390: Cleanups 2011-03-16 14:30:40 +01:00