summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2009-01-26 21:19:57 +0100
committerJean Delvare <khali@linux-fr.org>2009-01-26 21:19:57 +0100
commit5fb4523afbffae5a5cec4989ee4c9fbc3dbdef33 (patch)
tree498c51141686d9e7c645e4d1b98f435e1faaeb14
parentdd7f8dbe2b3c0611ba969cd867c10cb63d163e25 (diff)
downloadlinux-5fb4523afbffae5a5cec4989ee4c9fbc3dbdef33.tar.bz2
i2c: Warn on deprecated binding model use
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>
-rw-r--r--include/linux/i2c.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 20873d402467..fcfbfea3af72 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -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;
@@ -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);