[PATCH] Add a semaphore to struct device to synchronize calls to its driver.
authormochel@digitalimplant.org <mochel@digitalimplant.org>
Mon, 21 Mar 2005 18:41:04 +0000 (10:41 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 20 Jun 2005 22:15:12 +0000 (15:15 -0700)
commitaf70316af182f4716cc5eec7e0d27fc731d164bd
tree22fa4732c8270db8fd3f681355cd83e4b8088847
parenteb51b65005737b777e0709683b061d5f82aefd97
[PATCH] Add a semaphore to struct device to synchronize calls to its driver.

This adds a per-device semaphore that is taken before every call from the core to a
driver method. This prevents e.g. simultaneous calls to the ->suspend() or ->resume()
and ->probe() or ->release(), potentially saving a whole lot of headaches.

It also moves us a step closer to removing the bus rwsem, since it protects the fields
in struct device that are modified by the core.

Signed-off-by: Patrick Mochel <mochel@digitalimplant.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/base/bus.c
drivers/base/core.c
drivers/base/power/resume.c
drivers/base/power/suspend.c
include/linux/device.h