aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/hw.h11
-rw-r--r--hw/i2c.c2
2 files changed, 12 insertions, 1 deletions
diff --git a/hw/hw.h b/hw/hw.h
index 2d8638986d..3796457722 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -440,6 +440,17 @@ extern const VMStateDescription vmstate_pci_device;
+ type_check(PCIDevice,typeof_field(_state, _field)) \
}
+extern const VMStateDescription vmstate_i2c_slave;
+
+#define VMSTATE_I2C_SLAVE(_field, _state) { \
+ .name = (stringify(_field)), \
+ .size = sizeof(i2c_slave), \
+ .vmsd = &vmstate_i2c_slave, \
+ .flags = VMS_STRUCT, \
+ .offset = offsetof(_state, _field) \
+ + type_check(i2c_slave,typeof_field(_state, _field)) \
+}
+
/* _f : field name
_f_n : num of elements field_name
_n : num of elements
diff --git a/hw/i2c.c b/hw/i2c.c
index db9283d0ad..e561e7f973 100644
--- a/hw/i2c.c
+++ b/hw/i2c.c
@@ -153,7 +153,7 @@ static int i2c_slave_post_load(void *opaque, int version_id)
return 0;
}
-static const VMStateDescription vmstate_i2c_slave = {
+const VMStateDescription vmstate_i2c_slave = {
.name = "i2c_slave",
.version_id = 1,
.minimum_version_id = 1,