diff options
| author | Zxy <[email protected]> | 2023-03-10 12:42:58 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-03-09 23:42:58 -0500 |
| commit | c8b30bf31a2fa75297a791b731a26273eb2f6c3b (patch) | |
| tree | 40557c82a3fd9858929c753e6bede2751c88b842 /components | |
| parent | f6847af0cdd345c5903349dc7e7b04992ecef44f (diff) | |
[device]修改i2c读写函数返回类型为rt_ssize_t (#7029)
Diffstat (limited to 'components')
| -rw-r--r-- | components/drivers/i2c/i2c_core.c | 26 | ||||
| -rw-r--r-- | components/drivers/include/drivers/i2c.h | 6 |
2 files changed, 13 insertions, 19 deletions
diff --git a/components/drivers/i2c/i2c_core.c b/components/drivers/i2c/i2c_core.c index 39147be605..7e90ac30ec 100644 --- a/components/drivers/i2c/i2c_core.c +++ b/components/drivers/i2c/i2c_core.c @@ -51,11 +51,11 @@ struct rt_i2c_bus_device *rt_i2c_bus_device_find(const char *bus_name) return bus; } -rt_size_t rt_i2c_transfer(struct rt_i2c_bus_device *bus, +rt_ssize_t rt_i2c_transfer(struct rt_i2c_bus_device *bus, struct rt_i2c_msg msgs[], rt_uint32_t num) { - rt_size_t ret; + rt_ssize_t ret; if (bus->ops->master_xfer) { @@ -78,7 +78,7 @@ rt_size_t rt_i2c_transfer(struct rt_i2c_bus_device *bus, { LOG_E("I2C bus operation not supported"); - return 0; + return -RT_ERROR; } } @@ -98,17 +98,17 @@ rt_err_t rt_i2c_control(struct rt_i2c_bus_device *bus, { LOG_E("I2C bus operation not supported"); - return 0; + return -RT_ERROR; } } -rt_size_t rt_i2c_master_send(struct rt_i2c_bus_device *bus, +rt_ssize_t rt_i2c_master_send(struct rt_i2c_bus_device *bus, rt_uint16_t addr, rt_uint16_t flags, const rt_uint8_t *buf, rt_uint32_t count) { - rt_size_t ret; + rt_ssize_t ret; struct rt_i2c_msg msg; msg.addr = addr; @@ -118,16 +118,16 @@ rt_size_t rt_i2c_master_send(struct rt_i2c_bus_device *bus, ret = rt_i2c_transfer(bus, &msg, 1); - return (ret > 0) ? count : ret; + return ret; } -rt_size_t rt_i2c_master_recv(struct rt_i2c_bus_device *bus, +rt_ssize_t rt_i2c_master_recv(struct rt_i2c_bus_device *bus, rt_uint16_t addr, rt_uint16_t flags, rt_uint8_t *buf, rt_uint32_t count) { - rt_size_t ret; + rt_ssize_t ret; struct rt_i2c_msg msg; RT_ASSERT(bus != RT_NULL); @@ -138,11 +138,5 @@ rt_size_t rt_i2c_master_recv(struct rt_i2c_bus_device *bus, ret = rt_i2c_transfer(bus, &msg, 1); - return (ret > 0) ? count : ret; + return ret; } - -int rt_i2c_core_init(void) -{ - return 0; -} -INIT_COMPONENT_EXPORT(rt_i2c_core_init); diff --git a/components/drivers/include/drivers/i2c.h b/components/drivers/include/drivers/i2c.h index 3186f13414..e7f9faa16a 100644 --- a/components/drivers/include/drivers/i2c.h +++ b/components/drivers/include/drivers/i2c.h @@ -70,18 +70,18 @@ struct rt_i2c_client rt_err_t rt_i2c_bus_device_register(struct rt_i2c_bus_device *bus, const char *bus_name); struct rt_i2c_bus_device *rt_i2c_bus_device_find(const char *bus_name); -rt_size_t rt_i2c_transfer(struct rt_i2c_bus_device *bus, +rt_ssize_t rt_i2c_transfer(struct rt_i2c_bus_device *bus, struct rt_i2c_msg msgs[], rt_uint32_t num); rt_err_t rt_i2c_control(struct rt_i2c_bus_device *bus, rt_uint32_t cmd, rt_uint32_t arg); -rt_size_t rt_i2c_master_send(struct rt_i2c_bus_device *bus, +rt_ssize_t rt_i2c_master_send(struct rt_i2c_bus_device *bus, rt_uint16_t addr, rt_uint16_t flags, const rt_uint8_t *buf, rt_uint32_t count); -rt_size_t rt_i2c_master_recv(struct rt_i2c_bus_device *bus, +rt_ssize_t rt_i2c_master_recv(struct rt_i2c_bus_device *bus, rt_uint16_t addr, rt_uint16_t flags, rt_uint8_t *buf, |
