Skip to content

Commit

Permalink
i2c: Minor fixes to upgrading-clients document
Browse files Browse the repository at this point in the history
* Typical legacy drivers implemented method .detach_client, not
  .detach_adapter.
* Drop all references to __devexit, as i2c drivers shouldn't use it.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
  • Loading branch information
Jean Delvare authored and Jean Delvare committed Mar 20, 2011
1 parent d735b34 commit ed065e2
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions Documentation/i2c/upgrading-clients
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ static int example_attach(struct i2c_adapter *adap, int addr, int kind)
return 0;
}

static int __devexit example_detach(struct i2c_client *client)
static int example_detach(struct i2c_client *client)
{
struct example_state *state = i2c_get_clientdata(client);

Expand All @@ -81,7 +81,7 @@ static struct i2c_driver example_driver = {
.name = "example",
},
.attach_adapter = example_attach_adapter,
.detach_client = __devexit_p(example_detach),
.detach_client = example_detach,
.suspend = example_suspend,
.resume = example_resume,
};
Expand All @@ -93,7 +93,7 @@ Updating the client
The new style binding model will check against a list of supported
devices and their associated address supplied by the code registering
the busses. This means that the driver .attach_adapter and
.detach_adapter methods can be removed, along with the addr_data,
.detach_client methods can be removed, along with the addr_data,
as follows:

- static struct i2c_driver example_driver;
Expand All @@ -110,14 +110,14 @@ as follows:

static struct i2c_driver example_driver = {
- .attach_adapter = example_attach_adapter,
- .detach_client = __devexit_p(example_detach),
- .detach_client = example_detach,
}

Add the probe and remove methods to the i2c_driver, as so:

static struct i2c_driver example_driver = {
+ .probe = example_probe,
+ .remove = __devexit_p(example_remove),
+ .remove = example_remove,
}

Change the example_attach method to accept the new parameters
Expand Down Expand Up @@ -199,8 +199,8 @@ to delete the i2c_detach_client call. It is possible that you
can also remove the ret variable as it is not not needed for
any of the core functions.

- static int __devexit example_detach(struct i2c_client *client)
+ static int __devexit example_remove(struct i2c_client *client)
- static int example_detach(struct i2c_client *client)
+ static int example_remove(struct i2c_client *client)
{
struct example_state *state = i2c_get_clientdata(client);

Expand Down Expand Up @@ -253,7 +253,7 @@ static int example_probe(struct i2c_client *client,
return 0;
}

static int __devexit example_remove(struct i2c_client *client)
static int example_remove(struct i2c_client *client)
{
struct example_state *state = i2c_get_clientdata(client);

Expand All @@ -275,7 +275,7 @@ static struct i2c_driver example_driver = {
},
.id_table = example_idtable,
.probe = example_probe,
.remove = __devexit_p(example_remove),
.remove = example_remove,
.suspend = example_suspend,
.resume = example_resume,
};

0 comments on commit ed065e2

Please sign in to comment.