On 200103 1201, Philippe Mathieu-Daudé wrote: > On 12/9/19 1:02 PM, Thomas Huth wrote: > > On 29/11/2019 22.34, Oleinik, 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 <alx...@bu.edu> > > > --- > > > tests/libqos/i2c.c | 10 +++++----- > > > tests/libqos/i2c.h | 4 ++-- > > > tests/pca9552-test.c | 10 +++++----- > > > 3 files changed, 12 insertions(+), 12 deletions(-) > > > > > > diff --git a/tests/libqos/i2c.c b/tests/libqos/i2c.c > > > index 156114e745..38f800dbab 100644 > > > --- a/tests/libqos/i2c.c > > > +++ b/tests/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); > > > } > > > > I'd prefer qos_i2c_send and qos_i2c_recv instead ... but that's just a > > matter of taste. > > > > Acked-by: Thomas Huth <th...@redhat.com> > > Agreed. > > Renamed qos_*: > Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > Paolo originally suggested the qi2c names in the v3 patchset, since they are consistent with the QI2CDevice struct and the qvirtio functions. Prior to that they had worse i2c_test... names. Scanning through the other function names in tests/libqos, it seems most qos_ functions are related to the internals of the qos system (eg. qos_graph_init, qos_node_create_machine ...), while q-prefixed functions are generally hw-specific (eg. qpci_msix_enable, qfw_cfg_read_data, qusb_pci_init_one). Of course this pattern isn't perfectly consistent (eg. qos_init_sdhci_mm).
Unless there is something I'm missing, I'm leaning toward leaving the functions named qi2c_recv, qi2c_send.