i2c: Documentation: fix device matching description
The matching process described for new style clients in Documentation/i2c/writing-clients is classed as out-of-date as it requires the presence of an .id_table entry in the driver's i2c_driver entry. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
parent
e1441b9a41
commit
2260e63a2f
|
@ -25,12 +25,23 @@ routines, and should be zero-initialized except for fields with data you
|
||||||
provide. A client structure holds device-specific information like the
|
provide. A client structure holds device-specific information like the
|
||||||
driver model device node, and its I2C address.
|
driver model device node, and its I2C address.
|
||||||
|
|
||||||
|
/* iff driver uses driver model ("new style") binding model: */
|
||||||
|
|
||||||
|
static struct i2c_device_id foo_idtable[] = {
|
||||||
|
{ "foo", my_id_for_foo },
|
||||||
|
{ "bar", my_id_for_bar },
|
||||||
|
{ }
|
||||||
|
};
|
||||||
|
|
||||||
|
MODULE_DEVICE_TABLE(i2c, foo_idtable);
|
||||||
|
|
||||||
static struct i2c_driver foo_driver = {
|
static struct i2c_driver foo_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "foo",
|
.name = "foo",
|
||||||
},
|
},
|
||||||
|
|
||||||
/* iff driver uses driver model ("new style") binding model: */
|
/* iff driver uses driver model ("new style") binding model: */
|
||||||
|
.id_table = foo_ids,
|
||||||
.probe = foo_probe,
|
.probe = foo_probe,
|
||||||
.remove = foo_remove,
|
.remove = foo_remove,
|
||||||
|
|
||||||
|
@ -173,10 +184,9 @@ handle may be used during foo_probe(). If foo_probe() reports success
|
||||||
(zero not a negative status code) it may save the handle and use it until
|
(zero not a negative status code) it may save the handle and use it until
|
||||||
foo_remove() returns. That binding model is used by most Linux drivers.
|
foo_remove() returns. That binding model is used by most Linux drivers.
|
||||||
|
|
||||||
Drivers match devices when i2c_client.driver_name and the driver name are
|
The probe function is called when an entry in the id_table name field
|
||||||
the same; this approach is used in several other busses that don't have
|
matches the device's name. It is passed the entry that was matched so
|
||||||
device typing support in the hardware. The driver and module name should
|
the driver knows which one in the table matched.
|
||||||
match, so hotplug/coldplug mechanisms will modprobe the driver.
|
|
||||||
|
|
||||||
|
|
||||||
Device Creation (Standard driver model)
|
Device Creation (Standard driver model)
|
||||||
|
|
Loading…
Reference in a new issue