From: Matthias Kaehlcke Subject: scx200_acb: Use mutex instead of semaphore The scx200_acb driver use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Cc: Jordan Crouse Signed-off-by: Jean Delvare --- drivers/i2c/busses/scx200_acb.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) --- linux-2.6.21-git.orig/drivers/i2c/busses/scx200_acb.c 2007-05-09 10:52:04.000000000 +0200 +++ linux-2.6.21-git/drivers/i2c/busses/scx200_acb.c 2007-05-09 11:14:26.000000000 +0200 @@ -388,7 +388,7 @@ static const struct i2c_algorithm scx200 }; static struct scx200_acb_iface *scx200_acb_list; -static DECLARE_MUTEX(scx200_acb_list_mutex); +static DEFINE_MUTEX(scx200_acb_list_mutex); static __init int scx200_acb_probe(struct scx200_acb_iface *iface) { @@ -472,10 +472,10 @@ static int __init scx200_acb_create(stru return -ENODEV; } - down(&scx200_acb_list_mutex); + mutex_lock(&scx200_acb_list_mutex); iface->next = scx200_acb_list; scx200_acb_list = iface; - up(&scx200_acb_list_mutex); + mutex_unlock(&scx200_acb_list_mutex); return 0; } @@ -633,10 +633,10 @@ static void __exit scx200_acb_cleanup(vo { struct scx200_acb_iface *iface; - down(&scx200_acb_list_mutex); + mutex_lock(&scx200_acb_list_mutex); while ((iface = scx200_acb_list) != NULL) { scx200_acb_list = iface->next; - up(&scx200_acb_list_mutex); + mutex_unlock(&scx200_acb_list_mutex); i2c_del_adapter(&iface->adapter); @@ -648,9 +648,9 @@ static void __exit scx200_acb_cleanup(vo release_region(iface->base, 8); kfree(iface); - down(&scx200_acb_list_mutex); + mutex_lock(&scx200_acb_list_mutex); } - up(&scx200_acb_list_mutex); + mutex_unlock(&scx200_acb_list_mutex); } module_init(scx200_acb_init);