summaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-amd756-s4882.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2006-01-18 23:16:04 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2006-03-23 23:21:51 +0100
commit5c085d369c2c4f18942ec8951466e186366d5c78 (patch)
tree22ca525700049a402281a0503b07db0645075f58 /drivers/i2c/busses/i2c-amd756-s4882.c
parent[PATCH] i2c: Speed up block transfers (diff)
downloadlinux-5c085d369c2c4f18942ec8951466e186366d5c78.tar.xz
linux-5c085d369c2c4f18942ec8951466e186366d5c78.zip
[PATCH] i2c: Semaphore to mutex conversions, part 2
semaphore to mutex conversion. the conversion was generated via scripts, and the result was validated automatically via a script as well. build tested. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/i2c/busses/i2c-amd756-s4882.c')
-rw-r--r--drivers/i2c/busses/i2c-amd756-s4882.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/i2c/busses/i2c-amd756-s4882.c b/drivers/i2c/busses/i2c-amd756-s4882.c
index 56c7d987590f..f7b4cb4e9c75 100644
--- a/drivers/i2c/busses/i2c-amd756-s4882.c
+++ b/drivers/i2c/busses/i2c-amd756-s4882.c
@@ -38,6 +38,7 @@
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/i2c.h>
+#include <linux/mutex.h>
extern struct i2c_adapter amd756_smbus;
@@ -45,7 +46,7 @@ static struct i2c_adapter *s4882_adapter;
static struct i2c_algorithm *s4882_algo;
/* Wrapper access functions for multiplexed SMBus */
-static struct semaphore amd756_lock;
+static struct mutex amd756_lock;
static s32 amd756_access_virt0(struct i2c_adapter * adap, u16 addr,
unsigned short flags, char read_write,
@@ -59,12 +60,12 @@ static s32 amd756_access_virt0(struct i2c_adapter * adap, u16 addr,
|| addr == 0x18)
return -1;
- down(&amd756_lock);
+ mutex_lock(&amd756_lock);
error = amd756_smbus.algo->smbus_xfer(adap, addr, flags, read_write,
command, size, data);
- up(&amd756_lock);
+ mutex_unlock(&amd756_lock);
return error;
}
@@ -87,7 +88,7 @@ static inline s32 amd756_access_channel(struct i2c_adapter * adap, u16 addr,
if (addr != 0x4c && (addr & 0xfc) != 0x50 && (addr & 0xfc) != 0x30)
return -1;
- down(&amd756_lock);
+ mutex_lock(&amd756_lock);
if (last_channels != channels) {
union i2c_smbus_data mplxdata;
@@ -105,7 +106,7 @@ static inline s32 amd756_access_channel(struct i2c_adapter * adap, u16 addr,
command, size, data);
UNLOCK:
- up(&amd756_lock);
+ mutex_unlock(&amd756_lock);
return error;
}
@@ -166,7 +167,7 @@ static int __init amd756_s4882_init(void)
}
printk(KERN_INFO "Enabling SMBus multiplexing for Tyan S4882\n");
- init_MUTEX(&amd756_lock);
+ mutex_init(&amd756_lock);
/* Define the 5 virtual adapters and algorithms structures */
if (!(s4882_adapter = kzalloc(5 * sizeof(struct i2c_adapter),