1STRUCT I2C_CLIENT(9)        I2C and SMBus Subsystem       STRUCT I2C_CLIENT(9)
2
3
4

NAME

6       struct_i2c_client - represent an I2C slave device
7

SYNOPSIS

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 device dev;
15         int irq;
16         struct list_head detected;
17       #if IS_ENABLED(CONFIG_I2C_SLAVE)
18         i2c_slave_cb_t slave_cb;
19       #endif
20       };
21

MEMBERS

23       flags
24           I2C_CLIENT_TEN indicates the device uses a ten bit chip address;
25           I2C_CLIENT_PEC indicates it uses SMBus Packet Error Checking
26
27       addr
28           Address used on the I2C bus connected to the parent adapter.
29
30       name[I2C_NAME_SIZE]
31           Indicates the type of the device, usually a chip name that's
32           generic enough to hide second-sourcing and compatible revisions.
33
34       adapter
35           manages the bus segment hosting this I2C device
36
37       dev
38           Driver model device node for the slave.
39
40       irq
41           indicates the IRQ generated by this device (if any)
42
43       detected
44           member of an i2c_driver.clients list or i2c-core's
45           userspace_devices list
46
47       slave_cb
48           Callback when I2C slave mode of an adapter is used. The adapter
49           calls it to pass on slave events to the slave driver.
50

DESCRIPTION

52       An i2c_client identifies a single device (i.e. chip) connected to an
53       i2c bus. The behaviour exposed to Linux is defined by the driver
54       managing the device.
55
57Kernel Hackers Manual 3.10         June 2019              STRUCT I2C_CLIENT(9)
Impressum