On Wed, Jan 29, 2020 at 05:34:18AM +0000, Bulekov, Alexander wrote:
>The names i2c_send and i2c_recv collide with functions defined in
>hw/i2c/core.c. This causes an error when linking against libqos and
>softmmu simultaneously (for example when using qtest inproc). Rename the
>libqos functions to avoid this.
>
>Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
>Acked-by: Thomas Huth <thuth@redhat.com>
>Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
>---
> tests/qtest/libqos/i2c.c | 10 +++++-----
> tests/qtest/libqos/i2c.h | 4 ++--
> tests/qtest/pca9552-test.c | 10 +++++-----
> 3 files changed, 12 insertions(+), 12 deletions(-)
>
>diff --git a/tests/qtest/libqos/i2c.c b/tests/qtest/libqos/i2c.c
>index 156114e745..38f800dbab 100644
>--- a/tests/qtest/libqos/i2c.c
>+++ b/tests/qtest/libqos/i2c.c
>@@ -10,12 +10,12 @@
> #include "libqos/i2c.h"
> #include "libqtest.h"
>
>-void i2c_send(QI2CDevice *i2cdev, const uint8_t *buf, uint16_t len)
>+void qi2c_send(QI2CDevice *i2cdev, const uint8_t *buf, uint16_t len)
> {
> i2cdev->bus->send(i2cdev->bus, i2cdev->addr, buf, len);
> }
>
>-void i2c_recv(QI2CDevice *i2cdev, uint8_t *buf, uint16_t len)
>+void qi2c_recv(QI2CDevice *i2cdev, uint8_t *buf, uint16_t len)
> {
> i2cdev->bus->recv(i2cdev->bus, i2cdev->addr, buf, len);
> }
>@@ -23,8 +23,8 @@ void i2c_recv(QI2CDevice *i2cdev, uint8_t *buf, uint16_t len)
> void i2c_read_block(QI2CDevice *i2cdev, uint8_t reg,
> uint8_t *buf, uint16_t len)
> {
>- i2c_send(i2cdev, ®, 1);
>- i2c_recv(i2cdev, buf, len);
>+ qi2c_send(i2cdev, ®, 1);
>+ qi2c_recv(i2cdev, buf, len);
> }
>
> void i2c_write_block(QI2CDevice *i2cdev, uint8_t reg,
>@@ -33,7 +33,7 @@ void i2c_write_block(QI2CDevice *i2cdev, uint8_t reg,
> uint8_t *cmd = g_malloc(len + 1);
> cmd[0] = reg;
> memcpy(&cmd[1], buf, len);
>- i2c_send(i2cdev, cmd, len + 1);
>+ qi2c_send(i2cdev, cmd, len + 1);
> g_free(cmd);
> }
>
>diff --git a/tests/qtest/libqos/i2c.h b/tests/qtest/libqos/i2c.h
>index 945b65b34c..c65f087834 100644
>--- a/tests/qtest/libqos/i2c.h
>+++ b/tests/qtest/libqos/i2c.h
>@@ -47,8 +47,8 @@ struct QI2CDevice {
> void *i2c_device_create(void *i2c_bus, QGuestAllocator *alloc, void *addr);
> void add_qi2c_address(QOSGraphEdgeOptions *opts, QI2CAddress *addr);
>
>-void i2c_send(QI2CDevice *dev, const uint8_t *buf, uint16_t len);
>-void i2c_recv(QI2CDevice *dev, uint8_t *buf, uint16_t len);
>+void qi2c_send(QI2CDevice *dev, const uint8_t *buf, uint16_t len);
>+void qi2c_recv(QI2CDevice *dev, uint8_t *buf, uint16_t len);
>
> void i2c_read_block(QI2CDevice *dev, uint8_t reg,
> uint8_t *buf, uint16_t len);
>diff --git a/tests/qtest/pca9552-test.c b/tests/qtest/pca9552-test.c
>index 4b800d3c3e..d80ed93cd3 100644
>--- a/tests/qtest/pca9552-test.c
>+++ b/tests/qtest/pca9552-test.c
>@@ -32,22 +32,22 @@ static void receive_autoinc(void *obj, void *data, QGuestAllocator *alloc)
>
> pca9552_init(i2cdev);
>
>- i2c_send(i2cdev, ®, 1);
>+ qi2c_send(i2cdev, ®, 1);
>
> /* PCA9552_LS0 */
>- i2c_recv(i2cdev, &resp, 1);
>+ qi2c_recv(i2cdev, &resp, 1);
> g_assert_cmphex(resp, ==, 0x54);
>
> /* PCA9552_LS1 */
>- i2c_recv(i2cdev, &resp, 1);
>+ qi2c_recv(i2cdev, &resp, 1);
> g_assert_cmphex(resp, ==, 0x55);
>
> /* PCA9552_LS2 */
>- i2c_recv(i2cdev, &resp, 1);
>+ qi2c_recv(i2cdev, &resp, 1);
> g_assert_cmphex(resp, ==, 0x55);
>
> /* PCA9552_LS3 */
>- i2c_recv(i2cdev, &resp, 1);
>+ qi2c_recv(i2cdev, &resp, 1);
> g_assert_cmphex(resp, ==, 0x54);
> }
>
>--
>2.23.0
>
>