Andreas Färber <andreas.faer...@web.de> writes: > Hello, > > Here's I2C support for the libqos framework and an OMAP driver. > The design was inspired by QEMU's i2c_bus and Linux' i2c_adapter. > Seems like low hanging fruit (while we're still waiting for PCI support :)), > hopefully motivating more people to contribute qtests for new devices or > bug fixes. > > I found a bug in omap_i2c related to the SBD bit not getting cleared after > a single-byte read; the patch has been dropped as we were not able to verify > it against a TRM or hardware. The driver was therefore changed to ignore the > SBD bit, like the Linux driver does. > > I've split up the proposed tmp105.h header further to facilitate reuse of > the register enum in qtest. > > The test case itself initially fails; in lack of a v2 patch by Alex I'm > appending my own fix proposal that makes the test pass. > > I'm also appending a QOM'ish cleanup of the file, replacing the current API > with a QOM property. > To do a qom-set for testing a non-zero temperature reading, we'll need either > a canonical path for the TMP105 or Jason's qtest_qmp_resp() to iterate over > qom-list /machine/unassigned output looking for type "tmp105" with qom-get. > > Alex, if you could add a Tested-by (using object_property_set_int()) that > would be appreciated.
Looks good. Whole series: Reviewed-by: Anthony Liguori <aligu...@us.ibm.com> Regards, Anthony Liguori > > Regards, > Andreas > > v1 -> v2: > * Factor out libqos API for I2C and an OMAP driver > * Avoid casts by using uint8_t* in API, suggested by Blue > * Ignore SBD bit in omap_i2c driver > * Drop omap_i2c patch clearing SBD > * Incorporate Alex' tmp105.h patch > * Split out tmp105_regs.h for qtest, inspired by rtc-test > * Append replacement for Alex' fix > * Append QOM cleanup and turn setter function into QOM property > > Cc: Anthony Liguori <anth...@codemonkey.ws> > Cc: Alex Horn <alex.h...@cs.ox.ac.uk> > Cc: Andrzej Zaborowski <balr...@gmail.com> > Cc: Peter Maydell <peter.mayd...@linaro.org> > Cc: Blue Swirl <blauwir...@gmail.com> > > Cc: Jason Baron <jba...@redhat.com> > Cc: Paolo Bonzini <pbonz...@redhat.com> > > Alex Horn (1): > tmp105: Create API for TMP105 temperature sensor > > Andreas Färber (6): > libqtest: Prepare I2C libqos > tmp105: Split out I2C message constants from header > tests: Add tmp105 qtest test case > tmp105: Fix I2C protocol bug > tmp105: QOM'ify > tmp105: Add temperature QOM property > > hw/i2c.h | 3 - > hw/tmp105.c | 101 ++++++++++++++++++------------- > hw/tmp105.h | 47 +++++++++++++++ > hw/tmp105_regs.h | 50 ++++++++++++++++ > tests/Makefile | 3 + > tests/libi2c-omap.c | 166 > +++++++++++++++++++++++++++++++++++++++++++++++++++ > tests/libi2c.c | 22 +++++++ > tests/libi2c.h | 30 ++++++++++ > tests/tmp105-test.c | 76 +++++++++++++++++++++++ > 9 Dateien geändert, 453 Zeilen hinzugefügt(+), 45 Zeilen entfernt(-) > create mode 100644 hw/tmp105.h > create mode 100644 hw/tmp105_regs.h > create mode 100644 tests/libi2c-omap.c > create mode 100644 tests/libi2c.c > create mode 100644 tests/libi2c.h > create mode 100644 tests/tmp105-test.c > > -- > 1.7.10.4