Commit 32d45361 authored by Stephen Kitt's avatar Stephen Kitt Committed by Wolfram Sang

docs: i2c: reference simple probes

Instead of documenting old-style probes, reference "simple probes" and
document the i2c_match_id function. This might help reduce the use of
two-argument probes in new code.
Signed-off-by: default avatarStephen Kitt <steve@sk2.org>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
parent 43bf42ff
...@@ -46,7 +46,7 @@ driver model device node, and its I2C address. ...@@ -46,7 +46,7 @@ driver model device node, and its I2C address.
}, },
.id_table = foo_idtable, .id_table = foo_idtable,
.probe = foo_probe, .probe_new = foo_probe,
.remove = foo_remove, .remove = foo_remove,
/* if device autodetection is needed: */ /* if device autodetection is needed: */
.class = I2C_CLASS_SOMETHING, .class = I2C_CLASS_SOMETHING,
...@@ -155,8 +155,7 @@ those devices, and a remove() method to unbind. ...@@ -155,8 +155,7 @@ those devices, and a remove() method to unbind.
:: ::
static int foo_probe(struct i2c_client *client, static int foo_probe(struct i2c_client *client);
const struct i2c_device_id *id);
static int foo_remove(struct i2c_client *client); static int foo_remove(struct i2c_client *client);
Remember that the i2c_driver does not create those client handles. The Remember that the i2c_driver does not create those client handles. The
...@@ -165,8 +164,12 @@ handle may be used during foo_probe(). If foo_probe() reports success ...@@ -165,8 +164,12 @@ handle may be used during foo_probe(). If foo_probe() reports success
foo_remove() returns. That binding model is used by most Linux drivers. foo_remove() returns. That binding model is used by most Linux drivers.
The probe function is called when an entry in the id_table name field The probe function is called when an entry in the id_table name field
matches the device's name. It is passed the entry that was matched so matches the device's name. If the probe function needs that entry, it
the driver knows which one in the table matched. can retrieve it using
::
const struct i2c_device_id *id = i2c_match_id(foo_idtable, client);
Device Creation Device Creation
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment