[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 13/15] hw/i2c: Make i2c_start_transfer() direction argument a
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v5 13/15] hw/i2c: Make i2c_start_transfer() direction argument a boolean |
Date: |
Thu, 17 Jun 2021 13:53:32 +0200 |
From: BALATON Zoltan <balaton@eik.bme.hu>
Make the argument representing the direction of the transfer a
boolean type.
Rename the boolean argument as 'is_recv' to match i2c_recv_send().
Document the function prototype.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-Id: <20200621145235.9E241745712@zero.eik.bme.hu>
[PMD: Split patch, added docstring]
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
include/hw/i2c/i2c.h | 12 +++++++++++-
hw/i2c/core.c | 4 ++--
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h
index 2adf521b271..21f2dba1bf7 100644
--- a/include/hw/i2c/i2c.h
+++ b/include/hw/i2c/i2c.h
@@ -80,7 +80,17 @@ struct I2CBus {
I2CBus *i2c_init_bus(DeviceState *parent, const char *name);
int i2c_bus_busy(I2CBus *bus);
-int i2c_start_transfer(I2CBus *bus, uint8_t address, int recv);
+
+/**
+ * i2c_start_transfer: start a transfer on an I2C bus.
+ *
+ * @bus: #I2CBus to be used
+ * @address: address of the slave
+ * @is_recv: indicates the transfer direction
+ *
+ * Returns: 0 on success, -1 on error
+ */
+int i2c_start_transfer(I2CBus *bus, uint8_t address, bool is_recv);
void i2c_end_transfer(I2CBus *bus);
void i2c_nack(I2CBus *bus);
int i2c_send(I2CBus *bus, uint8_t data);
diff --git a/hw/i2c/core.c b/hw/i2c/core.c
index 6af24c9e797..6639ca8c2e0 100644
--- a/hw/i2c/core.c
+++ b/hw/i2c/core.c
@@ -115,7 +115,7 @@ bool i2c_scan_bus(I2CBus *bus, uint8_t address, bool
broadcast,
* without releasing the bus. If that fails, the bus is still
* in a transaction.
*/
-int i2c_start_transfer(I2CBus *bus, uint8_t address, int recv)
+int i2c_start_transfer(I2CBus *bus, uint8_t address, bool is_recv)
{
I2CSlaveClass *sc;
I2CNode *node;
@@ -157,7 +157,7 @@ int i2c_start_transfer(I2CBus *bus, uint8_t address, int
recv)
if (sc->event) {
trace_i2c_event("start", s->address);
- rv = sc->event(s, recv ? I2C_START_RECV : I2C_START_SEND);
+ rv = sc->event(s, is_recv ? I2C_START_RECV : I2C_START_SEND);
if (rv && !bus->broadcast) {
if (bus_scanned) {
/* First call, terminate the transfer. */
--
2.31.1
- Re: [PATCH v5 04/15] hw/display/sm501: Replace i2c_send_recv() by i2c_recv() & i2c_send(), (continued)
- [PATCH v5 05/15] hw/i2c/ppc4xx_i2c: Add reference to datasheet, Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 06/15] hw/i2c/ppc4xx_i2c: Replace i2c_send_recv() by i2c_recv() & i2c_send(), Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 07/15] hw/misc/auxbus: Fix MOT/classic I2C mode, Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 08/15] hw/misc/auxbus: Explode READ_I2C / WRITE_I2C_MOT cases, Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 09/15] hw/misc/auxbus: Replace 'is_write' boolean by its value, Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 10/15] hw/misc/auxbus: Replace i2c_send_recv() by i2c_recv() & i2c_send(), Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 11/15] hw/i2c: Remove confusing i2c_send_recv(), Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 12/15] hw/i2c: Rename i2c_set_slave_address() -> i2c_slave_set_address(), Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 13/15] hw/i2c: Make i2c_start_transfer() direction argument a boolean,
Philippe Mathieu-Daudé <=
- [PATCH v5 14/15] hw/i2c: Extract i2c_do_start_transfer() from i2c_start_transfer(), Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 15/15] hw/i2c: Introduce i2c_start_recv() and i2c_start_send(), Philippe Mathieu-Daudé, 2021/06/17
- Re: [PATCH v5 00/15] hw/i2c: Remove confusing i2c_send_recv() API, Corey Minyard, 2021/06/17