1STRUCT I2C_CLIENT(9) I2C and SMBus Subsystem STRUCT I2C_CLIENT(9)
2
3
4
6 struct_i2c_client - represent an I2C slave device
7
9 struct i2c_client {
10 unsigned short flags;
11 unsigned short addr;
12 char name[I2C_NAME_SIZE];
13 struct i2c_adapter * adapter;
14 struct i2c_driver * driver;
15 struct device dev;
16 int irq;
17 struct list_head detected;
18 };
19
21 flags
22 I2C_CLIENT_TEN indicates the device uses a ten bit chip address;
23 I2C_CLIENT_PEC indicates it uses SMBus Packet Error Checking
24
25 addr
26 Address used on the I2C bus connected to the parent adapter.
27
28 name[I2C_NAME_SIZE]
29 Indicates the type of the device, usually a chip name that's
30 generic enough to hide second-sourcing and compatible revisions.
31
32 adapter
33 manages the bus segment hosting this I2C device
34
35 driver
36 device's driver, hence pointer to access routines
37
38 dev
39 Driver model device node for the slave.
40
41 irq
42 indicates the IRQ generated by this device (if any)
43
44 detected
45 member of an i2c_driver.clients list or i2c-core's
46 userspace_devices list
47
49 An i2c_client identifies a single device (i.e. chip) connected to an
50 i2c bus. The behaviour exposed to Linux is defined by the driver
51 managing the device.
52
54Kernel Hackers Manual 2.6. November 2011 STRUCT I2C_CLIENT(9)