[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/49] vmstate: port i2c_slave device
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 09/49] vmstate: port i2c_slave device |
Date: |
Tue, 29 Sep 2009 22:48:28 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
hw/i2c.c | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/hw/i2c.c b/hw/i2c.c
index 1641cec..db9283d 100644
--- a/hw/i2c.c
+++ b/hw/i2c.c
@@ -142,19 +142,38 @@ void i2c_nack(i2c_bus *bus)
dev->info->event(dev, I2C_NACK);
}
-void i2c_slave_save(QEMUFile *f, i2c_slave *dev)
-{
- qemu_put_8s(f, &dev->address);
-}
-
-void i2c_slave_load(QEMUFile *f, i2c_slave *dev)
+static int i2c_slave_post_load(void *opaque, int version_id)
{
+ i2c_slave *dev = opaque;
i2c_bus *bus;
bus = FROM_QBUS(i2c_bus, qdev_get_parent_bus(&dev->qdev));
- qemu_get_8s(f, &dev->address);
if (bus->saved_address == dev->address) {
bus->current_dev = dev;
}
+ return 0;
+}
+
+static const VMStateDescription vmstate_i2c_slave = {
+ .name = "i2c_slave",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .minimum_version_id_old = 1,
+ .post_load = i2c_slave_post_load,
+ .fields = (VMStateField []) {
+ VMSTATE_UINT8(address, i2c_slave),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
+void i2c_slave_save(QEMUFile *f, i2c_slave *dev)
+{
+ vmstate_save_state(f, &vmstate_i2c_slave, dev);
+}
+
+void i2c_slave_load(QEMUFile *f, i2c_slave *dev)
+{
+ vmstate_load_state(f, &vmstate_i2c_slave, dev,
+ vmstate_i2c_slave.version_id);
}
static int i2c_slave_qdev_init(DeviceState *dev, DeviceInfo *base)
--
1.6.2.5
- [Qemu-devel] [PATCH 02/49] vmstate: add version_id argument to post_load, (continued)
- [Qemu-devel] [PATCH 02/49] vmstate: add version_id argument to post_load, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 03/49] vmstate: remove const from pre_save() functions, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 04/49] vmstate: remove ps2_kbd_load_old(), Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 05/49] vmstate: Add support for sending partial arrays, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 06/49] qdev: Add support for uint8_t, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 07/49] i2c: addresses are load/save as uint8_t values, change types to reflect this, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 11/49] vmstate: create VMSTATE_I2C_SLAVE, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 08/49] vmstate: port i2c_bus device, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 10/49] vmstate: add uint8 array, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 12/49] vmstate: port wm8750 device, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 09/49] vmstate: port i2c_slave device,
Juan Quintela <=
- [Qemu-devel] [PATCH 14/49] vmstate: create VMSTATE_STRUCT_POINTER, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 13/49] vmstate: port max7310 device, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 15/49] vmstate: port pxa2xx_i2c device, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 17/49] vmstate: create VMSTATE_INT16_ARRAY, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 16/49] vmstate: port ssd0303 device, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 18/49] tmp105: change len and alorm to uint8_t, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 19/49] vmstate: port tmp105 device, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 20/49] twl92230: change pwrbtn_state to uint8_t, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 21/49] vmstate: port twl92230 device, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 24/49] vmstate: port lm832x device, Juan Quintela, 2009/09/29