From a78e9839ae5eb0b95d9db8dd672e2977d2831605 Mon Sep 17 00:00:00 2001 From: Klaus Jensen Date: Thu, 30 Jun 2022 09:21:14 +0200 Subject: hw/i2c: add asynchronous send MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add an asynchronous version of i2c_send() that requires the slave to explicitly acknowledge on the bus with i2c_ack(). The current master must use the new i2c_start_send_async() to indicate that it wants to do an asynchronous transfer. This allows the i2c core to check if the target slave supports this or not. This approach relies on adding a new enum i2c_event member, which is why a bunch of other devices needs changes in their event handling switches. Signed-off-by: Klaus Jensen Message-Id: <20220601210831.67259-5-its@irrelevant.dk> Signed-off-by: Cédric Le Goater Message-Id: <20220630045133.32251-6-me@pjd.dev> Signed-off-by: Cédric Le Goater --- hw/sensor/lsm303dlhc_mag.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'hw/sensor') diff --git a/hw/sensor/lsm303dlhc_mag.c b/hw/sensor/lsm303dlhc_mag.c index 4c98ddb..bb8d48b 100644 --- a/hw/sensor/lsm303dlhc_mag.c +++ b/hw/sensor/lsm303dlhc_mag.c @@ -427,6 +427,8 @@ static int lsm303dlhc_mag_event(I2CSlave *i2c, enum i2c_event event) break; case I2C_NACK: break; + default: + return -1; } s->len = 0; -- cgit v1.1