Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2260e63a authored by Ben Dooks's avatar Ben Dooks Committed by Jean Delvare
Browse files

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: default avatarBen Dooks <ben-linux@fluff.org>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent e1441b9a
Loading
Loading
Loading
Loading
+14 −4
Original line number Original line Diff line number Diff line
@@ -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)