qemu-e2k/hw/i2c
Corey Minyard d307c28ca9 i2c: Allow I2C devices to NAK start events
Add a return value to the event handler.  Some I2C devices will
NAK if they have no data, so allow them to do this.  This required
the following changes:

Go through all the event handlers and change them to return int
and return 0.

Modify i2c_start_transfer to terminate the transaction on a NAK.

Modify smbus handing to not assert if a NAK occurs on a second
operation, and terminate the transaction and return -1 instead.

Add some information on semantics to I2CSlaveClass.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-01-09 11:40:20 +00:00
..
aspeed_i2c.c i2c: add aspeed i2c controller 2016-06-06 16:59:29 +01:00
bitbang_i2c.c hw/i2c/bitbang_i2c: Handle NACKs from devices 2016-11-07 10:01:15 +00:00
bitbang_i2c.h i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
core.c i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
exynos4210_i2c.c hw/i2c: QOM'ify exynos4210_i2c.c 2016-06-14 15:59:13 +01:00
i2c-ddc.c i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
imx_i2c.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
Makefile.objs hw/i2c-ddc.c: Implement DDC I2C slave 2016-06-14 15:59:15 +01:00
omap_i2c.c hw/i2c: QOM'ify omap_i2c.c 2016-06-14 15:59:13 +01:00
pm_smbus.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
smbus_eeprom.c hw: Clean up includes 2016-01-29 15:07:25 +00:00
smbus_ich9.c ICH9 SMB: make TYPE_ICH9_SMB_DEVICE macro public 2016-06-29 14:03:46 +02:00
smbus.c i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
versatile_i2c.c hw/i2c: QOM'ify versatile_i2c.c 2016-06-14 15:59:13 +01:00