Skip to content

Commit

Permalink
i2c: Warn on deprecated binding model use
Browse files Browse the repository at this point in the history
Let the kernel developers know that i2c_attach_client() and
i2c_detach_client() are deprecated and should no longer be used.
Drivers using these should be converted to the standard device
driver binding model (probe and remove methods.)

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Ben Dooks <ben-linux@fluff.org>
  • Loading branch information
Jean Delvare committed Jan 26, 2009
1 parent dd7f8db commit 5fb4523
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions include/linux/i2c.h
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ struct i2c_driver {
* has been dynamically allocated by the driver in the function above,
* it must be freed here. (LEGACY I2C DRIVERS ONLY)
*/
int (*detach_client)(struct i2c_client *);
int (*detach_client)(struct i2c_client *) __deprecated;

/* Standard driver model interfaces, for "new style" i2c drivers.
* With the driver model, device enumeration is NEVER done by drivers;
Expand Down Expand Up @@ -429,8 +429,10 @@ static inline int i2c_add_driver(struct i2c_driver *driver)
return i2c_register_driver(THIS_MODULE, driver);
}

extern int i2c_attach_client(struct i2c_client *);
extern int i2c_detach_client(struct i2c_client *);
/* These are deprecated, your driver should use the standard .probe()
* and .remove() methods instead. */
extern int __deprecated i2c_attach_client(struct i2c_client *);
extern int __deprecated i2c_detach_client(struct i2c_client *);

extern struct i2c_client *i2c_use_client(struct i2c_client *client);
extern void i2c_release_client(struct i2c_client *client);
Expand Down

0 comments on commit 5fb4523

Please sign in to comment.