struct i2c_client — represent an I2C slave device
struct i2c_client { unsigned short flags; unsigned short addr; char name[I2C_NAME_SIZE]; struct i2c_adapter * adapter; struct i2c_driver * driver; int usage_count; struct device dev; int irq; char driver_name[KOBJ_NAME_LEN]; struct list_head list; struct completion released; };
I2C_CLIENT_TEN indicates the device uses a ten bit chip address; I2C_CLIENT_PEC indicates it uses SMBus Packet Error Checking
Address used on the I2C bus connected to the parent adapter.
Indicates the type of the device, usually a chip name that's generic enough to hide second-sourcing and compatible revisions.
manages the bus segment hosting this I2C device
device's driver, hence pointer to access routines
counts current number of users of this client
Driver model device node for the slave.
indicates the IRQ generated by this device (if any)
Identifies new-style driver used with this device; also used as the module name for hotplug/coldplug modprobe support.
list of active/busy clients
used to synchronize client releases & detaches and references