# i2c_client # i2c_client的生成方式 ### 在用户态生成 ```c // 在I2C BUS0下创建i2c_client # echo ap3216c 0x1e > /sys/bus/i2c/devices/i2c-0/new_device // 删除i2c_client # echo 0x1e > /sys/bus/i2c/devices/i2c-0/delete_device ``` ### 编写代码 * i2c_new_device * i2c_new_probed_device * i2c_register_board_info * 内核没有`EXPORT_SYMBOL(i2c_register_board_info)` * 使用这个函数的驱动必须编进内核里去 ``` ``` ### 使用设备树生成 在某个I2C控制器的节点下,添加如下代码: ```shell &i2c1 { ap3216c@1e { compatible = "lite-on,ap3216c"; reg = <0x1e>; }; }; ``` **注意**:设备树里i2c1就是I2C BUS0。