i2c-dev: "how does it work" comments
authorDavid Brownell <david-b@pacbell.net>
Thu, 15 Nov 2007 18:24:01 +0000 (19:24 +0100)
committerJean Delvare <khali@hyperion.delvare>
Thu, 15 Nov 2007 18:24:01 +0000 (19:24 +0100)
commit907135aaa0cc120a347222c8f274ecc5ca0db641
tree0572c3fc649030ffee737907228a9bfb6094a63a
parent99fee6d7e5748d96884667a4628118f7fc130ea0
i2c-dev: "how does it work" comments

This adds some "how does this work" comments to the i2c-dev driver,
plus separators between the three main components:

  - The parallel list of i2c_adapters ("i2c_dev_list"), each of which
    gets a "struct i2c_dev" and a /dev/i2c-X character special file.

  - An i2cdev_driver gets adapter add/remove notifications, which are
    used to maintain that list of adapters.

  - Special file operations, which let userspace talk either directly to
    the adapter (for i2c_msg operations) or through cached addressing info
    using an anonymous i2c_client (never registered anywhere).

Plus there's the usual module load/unload record keeping.

After making sense of this code, I think that the anonymous i2c_client
is pretty shady.  But since it's never registered, using this code with
a system set up for "new style" I2C drivers is no more complicated than
always using the I2C_SLAVE_FORCE ioctl (instead of I2C_SLAVE).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
drivers/i2c/i2c-dev.c