linux/drivers/base
Rafael J. Wysocki 775b64d2b6 PM: Acquire device locks on suspend
This patch reorganizes the way suspend and resume notifications are
sent to drivers.  The major changes are that now the PM core acquires
every device semaphore before calling the methods, and calls to
device_add() during suspends will fail, while calls to device_del()
during suspends will block.

It also provides a way to safely remove a suspended device with the
help of the PM core, by using the device_pm_schedule_removal() callback
introduced specifically for this purpose, and updates two drivers (msr
and cpuid) that need to use it.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-01-24 20:40:04 -08:00
..
power PM: Acquire device locks on suspend 2008-01-24 20:40:04 -08:00
attribute_container.c Driver core: include linux/mutex.h from attribute_container.c 2007-07-11 16:09:01 -07:00
base.h Driver core: remove get_bus() 2007-10-12 14:51:02 -07:00
bus.c Driver core: rename ktype_driver 2007-10-12 14:51:12 -07:00
class.c Revert "Driver core: remove class_device_*_bin_file" 2007-10-31 12:51:29 -07:00
core.c PM: Acquire device locks on suspend 2008-01-24 20:40:04 -08:00
cpu.c CPU online file permission 2007-07-31 15:39:39 -07:00
dd.c driver core: fix kernel doc of device_release_driver 2007-07-11 16:09:02 -07:00
devres.c Driver core: fix devres_release_all() return value 2007-07-11 16:09:02 -07:00
dma-mapping.c devres: device resource management 2007-02-09 17:39:36 -05:00
dmapool.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
driver.c Driver core: remove unneeded completion from driver release path 2007-04-27 10:57:29 -07:00
firmware_class.c Fix Firmware class name collision 2007-10-12 14:51:06 -07:00
firmware.c remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
hypervisor.c [S390] hypfs comment cleanup. 2006-09-20 15:58:44 +02:00
init.c [PATCH] Driver Core: Add /sys/hypervisor when needed 2006-06-21 12:40:48 -07:00
isa.c [PATCH] Driver model: add ISA bus 2006-06-21 12:40:49 -07:00
Kconfig Driver core: add CONFIG_UEVENT_HELPER_PATH 2007-10-12 14:51:01 -07:00
Makefile Introduce CONFIG_HAS_DMA 2007-05-07 12:12:51 -07:00
map.c [PATCH] kobj_map semaphore to mutex conversion 2006-03-20 13:42:58 -08:00
memory.c memory hotplug: rearrange memory hotplug notifier 2007-10-22 08:13:17 -07:00
node.c mm: add node states sysfs class attributeS 2007-10-16 09:43:03 -07:00
platform.c Driver core: Make platform_device.id an int 2007-10-12 14:51:07 -07:00
sys.c sysdev: remove global sysdev drivers list 2007-10-12 14:51:07 -07:00
topology.c cpu hotplug: topology: remove topology_dev_map 2007-10-18 14:37:21 -07:00
transport_class.c [SCSI] fix transport class corner case after rework 2005-08-28 11:14:06 -05:00