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,