Linux Kernel 设备驱动之I2C之client读写数据API

发送数据
int i2c_master_send(const struct i2c_client *client, const char *buf, int count)
接收数据
int i2c_master_recv(const struct i2c_client *client, char *buf, int count)
 
当然还有:
i2c_smbus_xfer_emulated()
i2cdev_ioctl_rdwr()
 
内核模块很多地方直接调用i2c_transfer()函数。
 
对于smbus来说,其最底层函数是i2c_smbus_xfer(),对此封装的函数非常多:
i2c_probe_func_quick_read()
i2c_smbus_read_byte()
i2c_smbus_write_byte()
i2c_smbus_read_byte_data()
i2c_smbus_write_byte_data()
i2c_smbus_read_word_data()
i2c_smbus_write_word_data()
i2c_smbus_read_block_data()
i2c_smbus_write_block_data()
i2c_smbus_read_i2c_block_data()
i2c_smbus_write_i2c_block_data()
 
 
 

你可能感兴趣的:(Linux,Kernel,设备驱动)