Skip to content

Commit

Permalink
[PATCH] i2c: Optimize core_lists mutex usage
Browse files Browse the repository at this point in the history
Stop holding the core_lists mutex when we don't actually need it.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Jean Delvare authored and Greg Kroah-Hartman committed Mar 23, 2006
1 parent fabddcd commit 7eebcb7
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions drivers/i2c/i2c-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -288,18 +288,18 @@ int i2c_register_driver(struct module *owner, struct i2c_driver *driver)
{
struct list_head *item;
struct i2c_adapter *adapter;
int res = 0;

mutex_lock(&core_lists);
int res;

/* add the driver to the list of i2c drivers in the driver core */
driver->driver.owner = owner;
driver->driver.bus = &i2c_bus_type;

res = driver_register(&driver->driver);
if (res)
goto out_unlock;
return res;

mutex_lock(&core_lists);

list_add_tail(&driver->list,&drivers);
pr_debug("i2c-core: driver [%s] registered\n", driver->driver.name);

Expand All @@ -311,9 +311,8 @@ int i2c_register_driver(struct module *owner, struct i2c_driver *driver)
}
}

out_unlock:
mutex_unlock(&core_lists);
return res;
return 0;
}
EXPORT_SYMBOL(i2c_register_driver);

Expand Down

0 comments on commit 7eebcb7

Please sign in to comment.