From c8b30bf31a2fa75297a791b731a26273eb2f6c3b Mon Sep 17 00:00:00 2001 From: Zxy <78582677+ZosCat1@users.noreply.github.com> Date: Fri, 10 Mar 2023 12:42:58 +0800 Subject: [PATCH] =?UTF-8?q?[device]=E4=BF=AE=E6=94=B9i2c=E8=AF=BB=E5=86=99?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E8=BF=94=E5=9B=9E=E7=B1=BB=E5=9E=8B=E4=B8=BA?= =?UTF-8?q?rt=5Fssize=5Ft=20(#7029)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/lpc54114-lite/drivers/drv_i2c.c | 2 +- components/drivers/i2c/i2c_core.c | 26 +++++++++--------------- components/drivers/include/drivers/i2c.h | 6 +++--- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/bsp/lpc54114-lite/drivers/drv_i2c.c b/bsp/lpc54114-lite/drivers/drv_i2c.c index 4d66217898..a624e86292 100644 --- a/bsp/lpc54114-lite/drivers/drv_i2c.c +++ b/bsp/lpc54114-lite/drivers/drv_i2c.c @@ -35,7 +35,7 @@ static uint32_t get_i2c_freq(I2C_Type *base) static rt_ssize_t master_xfer(struct rt_i2c_bus_device *bus, struct rt_i2c_msg msgs[], rt_uint32_t num) { - rt_size_t ret = (0); + rt_ssize_t ret = (0); rt_uint32_t index = 0; struct lpc_i2c *lpc_i2c = RT_NULL; 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,