From: Caleb Schlossin <[email protected]> - Add vmstate support for i2c registers
Reviewed-by: Michael Kowal <[email protected]> Reviewed-by: Aditya Gupta <[email protected]> Reviewed-by: Chalapathi V <[email protected]> Signed-off-by: Caleb Schlossin <[email protected]> Reviewed-by: Glenn Miles <[email protected]> Link: https://lore.kernel.org/qemu-devel/[email protected] Signed-off-by: Harsh Prateek Bora <[email protected]> --- hw/ppc/pnv_i2c.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/ppc/pnv_i2c.c b/hw/ppc/pnv_i2c.c index c8e90c636f..60f7164a1c 100644 --- a/hw/ppc/pnv_i2c.c +++ b/hw/ppc/pnv_i2c.c @@ -19,6 +19,7 @@ #include "hw/ppc/pnv_i2c.h" #include "hw/ppc/pnv_xscom.h" #include "hw/ppc/fdt.h" +#include "migration/vmstate.h" #include <libfdt.h> @@ -549,6 +550,15 @@ static const Property pnv_i2c_properties[] = { DEFINE_PROP_UINT32("num-busses", PnvI2C, num_busses, 1), }; +static const VMStateDescription pnv_i2c_vmstate = { + .name = TYPE_PNV_I2C, + .version_id = 1, + .fields = (const VMStateField[]) { + VMSTATE_UINT64_ARRAY(regs, PnvI2C, PNV_I2C_REGS), + VMSTATE_END_OF_LIST(), + }, +}; + static void pnv_i2c_class_init(ObjectClass *klass, const void *data) { DeviceClass *dc = DEVICE_CLASS(klass); @@ -561,6 +571,7 @@ static void pnv_i2c_class_init(ObjectClass *klass, const void *data) dc->desc = "PowerNV I2C"; dc->realize = pnv_i2c_realize; + dc->vmsd = &pnv_i2c_vmstate; device_class_set_props(dc, pnv_i2c_properties); } -- 2.52.0
