1. 程式人生 > >Linux Kernel 裝置驅動之I2C之client讀寫資料API

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()