Skip to content
  1. Nov 16, 2007
    • David Brownell's avatar
      i2c-dev: "how does it work" comments · 907135aa
      David Brownell authored
      
      
      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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      907135aa
  2. Nov 15, 2007