diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-01-29 15:39:02 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-21 12:37:30 -0400 |
commit | 3142788b7967ccfd2f1813ee9e11aeb1e1cf7de2 (patch) | |
tree | 292a6e3a21e237789c91a8d0ccd021321990a265 /include/linux/device.h | |
parent | 190e8370b8033f746db5289e9324174564a6f5a7 (diff) |
drivers/base: Convert dev->sem to mutex
The semaphore is semantically a mutex. Convert it to a real mutex and
fix up a few places where code was relying on semaphore.h to be included
by device.h, as well as the users of the trylock function, as that value
is now reversed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/device.h')
-rw-r--r-- | include/linux/device.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/include/linux/device.h b/include/linux/device.h index 241b96bcd7ad..6f9619190aaf 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/types.h> | 22 | #include <linux/types.h> |
23 | #include <linux/module.h> | 23 | #include <linux/module.h> |
24 | #include <linux/pm.h> | 24 | #include <linux/pm.h> |
25 | #include <linux/semaphore.h> | ||
26 | #include <asm/atomic.h> | 25 | #include <asm/atomic.h> |
27 | #include <asm/device.h> | 26 | #include <asm/device.h> |
28 | 27 | ||
@@ -404,7 +403,7 @@ struct device { | |||
404 | const char *init_name; /* initial name of the device */ | 403 | const char *init_name; /* initial name of the device */ |
405 | struct device_type *type; | 404 | struct device_type *type; |
406 | 405 | ||
407 | struct semaphore sem; /* semaphore to synchronize calls to | 406 | struct mutex mutex; /* mutex to synchronize calls to |
408 | * its driver. | 407 | * its driver. |
409 | */ | 408 | */ |
410 | 409 | ||
@@ -514,17 +513,17 @@ static inline bool device_async_suspend_enabled(struct device *dev) | |||
514 | 513 | ||
515 | static inline void device_lock(struct device *dev) | 514 | static inline void device_lock(struct device *dev) |
516 | { | 515 | { |
517 | down(&dev->sem); | 516 | mutex_lock(&dev->mutex); |
518 | } | 517 | } |
519 | 518 | ||
520 | static inline int device_trylock(struct device *dev) | 519 | static inline int device_trylock(struct device *dev) |
521 | { | 520 | { |
522 | return down_trylock(&dev->sem); | 521 | return mutex_trylock(&dev->mutex); |
523 | } | 522 | } |
524 | 523 | ||
525 | static inline void device_unlock(struct device *dev) | 524 | static inline void device_unlock(struct device *dev) |
526 | { | 525 | { |
527 | up(&dev->sem); | 526 | mutex_unlock(&dev->mutex); |
528 | } | 527 | } |
529 | 528 | ||
530 | void driver_init(void); | 529 | void driver_init(void); |