diff options
author | Henry Bruce <henry.bruce@intel.com> | 2015-10-08 13:19:08 -0700 |
---|---|---|
committer | Brendan Le Foll <brendan.le.foll@intel.com> | 2015-10-26 15:46:54 +0000 |
commit | df8492a8f7d13771dadf8f9637575a7fdd6d3cfb (patch) | |
tree | 9adc3ec085dbfb335859fc934d9f2f0bd6ad5ddf | |
parent | 63ff901674090f17028d768d12b3d3b567d0541b (diff) |
i2c.c: Added missing adv_func support to some functions
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
-rw-r--r-- | src/i2c/i2c.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/i2c/i2c.c b/src/i2c/i2c.c index a870c4f..ed57d2d 100644 --- a/src/i2c/i2c.c +++ b/src/i2c/i2c.c @@ -215,8 +215,9 @@ mraa_i2c_read(mraa_i2c_context dev, uint8_t* data, int length) uint8_t mraa_i2c_read_byte(mraa_i2c_context dev) { + if (IS_FUNC_DEFINED(dev, i2c_read_replace)) + return dev->advance_func->i2c_read_byte_replace(dev); i2c_smbus_data_t d; - if (mraa_i2c_smbus_access(dev->fh, I2C_SMBUS_READ, I2C_NOCMD, I2C_SMBUS_BYTE, &d) < 0) { syslog(LOG_ERR, "i2c: Failed to write"); return 0; @@ -240,8 +241,9 @@ mraa_i2c_read_byte_data(mraa_i2c_context dev, uint8_t command) uint16_t mraa_i2c_read_word_data(mraa_i2c_context dev, uint8_t command) { + if (IS_FUNC_DEFINED(dev, i2c_read_word_data_replace)) + return dev->advance_func->i2c_read_word_data_replace(dev, command); i2c_smbus_data_t d; - if (mraa_i2c_smbus_access(dev->fh, I2C_SMBUS_READ, command, I2C_SMBUS_WORD_DATA, &d) < 0) { syslog(LOG_ERR, "i2c: Failed to write"); return 0; @@ -252,6 +254,8 @@ mraa_i2c_read_word_data(mraa_i2c_context dev, uint8_t command) int mraa_i2c_read_bytes_data(mraa_i2c_context dev, uint8_t command, uint8_t* data, int length) { + if (IS_FUNC_DEFINED(dev, i2c_read_bytes_data_replace)) + return dev->advance_func->i2c_read_bytes_data_replace(dev, command, data, length); struct i2c_rdwr_ioctl_data d; struct i2c_msg m[2]; @@ -273,6 +277,8 @@ mraa_i2c_read_bytes_data(mraa_i2c_context dev, uint8_t command, uint8_t* data, i mraa_result_t mraa_i2c_write(mraa_i2c_context dev, const uint8_t* data, int length) { + if (IS_FUNC_DEFINED(dev, i2c_write_replace)) + return dev->advance_func->i2c_write_replace(dev, data, length); i2c_smbus_data_t d; int i; uint8_t command = data[0]; |