Use mutex instead of semaphore in struct class.

Signed-off-by: Dave Young <[EMAIL PROTECTED]> 
---
drivers/i2c/i2c-core.c |    9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff -upr linux/drivers/i2c/i2c-core.c linux.new/drivers/i2c/i2c-core.c
--- linux/drivers/i2c/i2c-core.c        2007-12-28 10:06:58.000000000 +0800
+++ linux.new/drivers/i2c/i2c-core.c    2008-01-03 09:31:38.000000000 +0800
@@ -34,7 +34,6 @@
 #include <linux/mutex.h>
 #include <linux/completion.h>
 #include <asm/uaccess.h>
-#include <asm/semaphore.h>
 
 #include "i2c-core.h"
 
@@ -597,12 +596,12 @@ int i2c_register_driver(struct module *o
        if (driver->attach_adapter) {
                struct i2c_adapter *adapter;
 
-               down(&i2c_adapter_class.sem);
+               mutex_lock(&i2c_adapter_class.mutex);
                list_for_each_entry(adapter, &i2c_adapter_class.devices,
                                    dev.node) {
                        driver->attach_adapter(adapter);
                }
-               up(&i2c_adapter_class.sem);
+               mutex_unlock(&i2c_adapter_class.mutex);
        }
 
        mutex_unlock(&core_lock);
@@ -631,7 +630,7 @@ void i2c_del_driver(struct i2c_driver *d
         * attached. If so, detach them to be able to kill the driver
         * afterwards.
         */
-       down(&i2c_adapter_class.sem);
+       mutex_lock(&i2c_adapter_class.mutex);
        list_for_each_entry(adap, &i2c_adapter_class.devices, dev.node) {
                if (driver->detach_adapter) {
                        if (driver->detach_adapter(adap)) {
@@ -656,7 +655,7 @@ void i2c_del_driver(struct i2c_driver *d
                        }
                }
        }
-       up(&i2c_adapter_class.sem);
+       mutex_unlock(&i2c_adapter_class.mutex);
 
  unregister:
        driver_unregister(&driver->driver);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to