Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 16688
b: refs/heads/master
c: 35d8b2e
h: refs/heads/master
v: v3
  • Loading branch information
Laurent Riffard authored and Greg Kroah-Hartman committed Jan 6, 2006
1 parent 57d1d9c commit 270fdd5
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 19 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 482c788ded0aa9710722eaf9cf60886d3b923218
refs/heads/master: 35d8b2e6b8e86b0d5126f36613b5202d4eb978b6
4 changes: 1 addition & 3 deletions trunk/drivers/i2c/busses/i2c-isa.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,6 @@ int i2c_isa_add_driver(struct i2c_driver *driver)
int res;

/* Add the driver to the list of i2c drivers in the driver core */
driver->driver.name = driver->name;
driver->driver.owner = driver->owner;
driver->driver.bus = &i2c_bus_type;
driver->driver.probe = i2c_isa_device_probe;
driver->driver.remove = i2c_isa_device_remove;
Expand Down Expand Up @@ -124,7 +122,7 @@ int i2c_isa_del_driver(struct i2c_driver *driver)
if ((res = driver->detach_client(client))) {
dev_err(&isa_adapter.dev, "Failed, driver "
"%s not unregistered!\n",
driver->name);
driver->driver.name);
return res;
}
}
Expand Down
22 changes: 11 additions & 11 deletions trunk/drivers/i2c/i2c-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,8 @@ int i2c_del_adapter(struct i2c_adapter *adap)
if (driver->detach_adapter)
if ((res = driver->detach_adapter(adap))) {
dev_err(&adap->dev, "detach_adapter failed "
"for driver [%s]\n", driver->name);
"for driver [%s]\n",
driver->driver.name);
goto out_unlock;
}
}
Expand Down Expand Up @@ -295,8 +296,6 @@ int i2c_add_driver(struct i2c_driver *driver)
down(&core_lists);

/* add the driver to the list of i2c drivers in the driver core */
driver->driver.owner = driver->owner;
driver->driver.name = driver->name;
driver->driver.bus = &i2c_bus_type;
driver->driver.probe = i2c_device_probe;
driver->driver.remove = i2c_device_remove;
Expand All @@ -306,7 +305,7 @@ int i2c_add_driver(struct i2c_driver *driver)
goto out_unlock;

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

/* now look for instances of driver on our adapters */
if (driver->attach_adapter) {
Expand Down Expand Up @@ -344,7 +343,8 @@ int i2c_del_driver(struct i2c_driver *driver)
if (driver->detach_adapter) {
if ((res = driver->detach_adapter(adap))) {
dev_err(&adap->dev, "detach_adapter failed "
"for driver [%s]\n", driver->name);
"for driver [%s]\n",
driver->driver.name);
goto out_unlock;
}
} else {
Expand All @@ -368,7 +368,7 @@ int i2c_del_driver(struct i2c_driver *driver)

driver_unregister(&driver->driver);
list_del(&driver->list);
pr_debug("i2c-core: driver [%s] unregistered\n", driver->name);
pr_debug("i2c-core: driver [%s] unregistered\n", driver->driver.name);

out_unlock:
up(&core_lists);
Expand Down Expand Up @@ -473,10 +473,10 @@ int i2c_detach_client(struct i2c_client *client)
static int i2c_inc_use_client(struct i2c_client *client)
{

if (!try_module_get(client->driver->owner))
if (!try_module_get(client->driver->driver.owner))
return -ENODEV;
if (!try_module_get(client->adapter->owner)) {
module_put(client->driver->owner);
module_put(client->driver->driver.owner);
return -ENODEV;
}

Expand All @@ -485,7 +485,7 @@ static int i2c_inc_use_client(struct i2c_client *client)

static void i2c_dec_use_client(struct i2c_client *client)
{
module_put(client->driver->owner);
module_put(client->driver->driver.owner);
module_put(client->adapter->owner);
}

Expand Down Expand Up @@ -524,14 +524,14 @@ void i2c_clients_command(struct i2c_adapter *adap, unsigned int cmd, void *arg)
down(&adap->clist_lock);
list_for_each(item,&adap->clients) {
client = list_entry(item, struct i2c_client, list);
if (!try_module_get(client->driver->owner))
if (!try_module_get(client->driver->driver.owner))
continue;
if (NULL != client->driver->command) {
up(&adap->clist_lock);
client->driver->command(client,cmd,arg);
down(&adap->clist_lock);
}
module_put(client->driver->owner);
module_put(client->driver->driver.owner);
}
up(&adap->clist_lock);
}
Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/i2c/i2c-dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -481,8 +481,10 @@ static int i2cdev_command(struct i2c_client *client, unsigned int cmd,
}

static struct i2c_driver i2cdev_driver = {
.owner = THIS_MODULE,
.name = "dev_driver",
.driver = {
.owner = THIS_MODULE,
.name = "dev_driver",
},
.id = I2C_DRIVERID_I2CDEV,
.attach_adapter = i2cdev_attach_adapter,
.detach_adapter = i2cdev_detach_adapter,
Expand Down
5 changes: 3 additions & 2 deletions trunk/include/linux/i2c.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,12 @@ extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client,
* A driver is capable of handling one or more physical devices present on
* I2C adapters. This information is used to inform the driver of adapter
* events.
*
* The driver.owner field should be set to the module owner of this driver.
* The driver.name field should be set to the name of this driver.
*/

struct i2c_driver {
struct module *owner;
char name[32];
int id;
unsigned int class;

Expand Down

0 comments on commit 270fdd5

Please sign in to comment.