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/