summary refs log tree commit diff stats
path: root/include/hw/i2c/i2c.h
diff options
context:
space:
mode:
authorKlaus Jensen <k.jensen@samsung.com>2023-03-02 13:57:50 +0100
committerCédric Le Goater <clg@kaod.org>2023-03-02 13:57:50 +0100
commit791cb95f23045f2d69364786edf61d289889199d (patch)
tree5182af8a274a8fde5e5c18e5e593a88339fc72aa /include/hw/i2c/i2c.h
parent9b29a468bd0ca6994dc3d347a01af743c8fe76a7 (diff)
downloadfocaccia-qemu-791cb95f23045f2d69364786edf61d289889199d.tar.gz
focaccia-qemu-791cb95f23045f2d69364786edf61d289889199d.zip
hw/i2c: only schedule pending master when bus is idle
It is not given that the current master will release the bus after a
transfer ends. Only schedule a pending master if the bus is idle.

Fixes: 37fa5ca42623 ("hw/i2c: support multiple masters")
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Corey Minyard <cminyard@mvista.com>
Message-Id: <20221116084312.35808-2-its@irrelevant.dk>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'include/hw/i2c/i2c.h')
-rw-r--r--include/hw/i2c/i2c.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h
index 9b9581d230..2a3abacd1b 100644
--- a/include/hw/i2c/i2c.h
+++ b/include/hw/i2c/i2c.h
@@ -141,6 +141,8 @@ int i2c_start_send(I2CBus *bus, uint8_t address);
  */
 int i2c_start_send_async(I2CBus *bus, uint8_t address);
 
+void i2c_schedule_pending_master(I2CBus *bus);
+
 void i2c_end_transfer(I2CBus *bus);
 void i2c_nack(I2CBus *bus);
 void i2c_ack(I2CBus *bus);