[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 15/49] vmstate: port pxa2xx_i2c device
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 15/49] vmstate: port pxa2xx_i2c device |
Date: |
Tue, 29 Sep 2009 22:48:34 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
hw/pxa2xx.c | 54 ++++++++++++++++++++++++++----------------------------
1 files changed, 26 insertions(+), 28 deletions(-)
diff --git a/hw/pxa2xx.c b/hw/pxa2xx.c
index e38a125..f8292e7 100644
--- a/hw/pxa2xx.c
+++ b/hw/pxa2xx.c
@@ -1452,33 +1452,32 @@ static CPUWriteMemoryFunc * const pxa2xx_i2c_writefn[]
= {
pxa2xx_i2c_write,
};
-static void pxa2xx_i2c_save(QEMUFile *f, void *opaque)
-{
- PXA2xxI2CState *s = (PXA2xxI2CState *) opaque;
-
- qemu_put_be16s(f, &s->control);
- qemu_put_be16s(f, &s->status);
- qemu_put_8s(f, &s->ibmr);
- qemu_put_8s(f, &s->data);
-
- i2c_slave_save(f, &s->slave->i2c);
-}
-
-static int pxa2xx_i2c_load(QEMUFile *f, void *opaque, int version_id)
-{
- PXA2xxI2CState *s = (PXA2xxI2CState *) opaque;
-
- if (version_id != 1)
- return -EINVAL;
-
- qemu_get_be16s(f, &s->control);
- qemu_get_be16s(f, &s->status);
- qemu_get_8s(f, &s->ibmr);
- qemu_get_8s(f, &s->data);
+static const VMStateDescription vmstate_pxa2xx_i2c_slave = {
+ .name = "pxa2xx_i2c_slave",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .minimum_version_id_old = 1,
+ .fields = (VMStateField []) {
+ VMSTATE_I2C_SLAVE(i2c, PXA2xxI2CSlaveState),
+ VMSTATE_END_OF_LIST()
+ }
+};
- i2c_slave_load(f, &s->slave->i2c);
- return 0;
-}
+static const VMStateDescription vmstate_pxa2xx_i2c = {
+ .name = "pxa2xx_i2c",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .minimum_version_id_old = 1,
+ .fields = (VMStateField []) {
+ VMSTATE_UINT16(control, PXA2xxI2CState),
+ VMSTATE_UINT16(status, PXA2xxI2CState),
+ VMSTATE_UINT8(ibmr, PXA2xxI2CState),
+ VMSTATE_UINT8(data, PXA2xxI2CState),
+ VMSTATE_STRUCT_POINTER(slave, PXA2xxI2CState,
+ vmstate_pxa2xx_i2c, PXA2xxI2CSlaveState *),
+ VMSTATE_END_OF_LIST()
+ }
+};
static int pxa2xx_i2c_slave_init(i2c_slave *i2c)
{
@@ -1516,8 +1515,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(target_phys_addr_t base,
cpu_register_physical_memory(base & ~region_size,
region_size + 1, iomemtype);
- register_savevm("pxa2xx_i2c", base, 1,
- pxa2xx_i2c_save, pxa2xx_i2c_load, s);
+ vmstate_register(base, &vmstate_pxa2xx_i2c, s);
return s;
}
--
1.6.2.5
- [Qemu-devel] [PATCH 05/49] vmstate: Add support for sending partial arrays, (continued)
- [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, 2009/09/29
- [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 <=
- [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
- [Qemu-devel] [PATCH 22/49] vmstate: add support for arrays of pointers, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 23/49] lm832x: make fields to have the same types that they are saved/loaded, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 25/49] vmstate: remove i2c_slave_load/save, Juan Quintela, 2009/09/29