|
@@ -201,6 +201,24 @@ static void smbus_device_class_init(ObjectClass *klass, void *data)
|
|
sc->send = smbus_i2c_send;
|
|
sc->send = smbus_i2c_send;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+bool smbus_vmstate_needed(SMBusDevice *dev)
|
|
|
|
+{
|
|
|
|
+ return dev->mode != SMBUS_IDLE;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+const VMStateDescription vmstate_smbus_device = {
|
|
|
|
+ .name = TYPE_SMBUS_DEVICE,
|
|
|
|
+ .version_id = 1,
|
|
|
|
+ .minimum_version_id = 1,
|
|
|
|
+ .fields = (VMStateField[]) {
|
|
|
|
+ VMSTATE_I2C_SLAVE(i2c, SMBusDevice),
|
|
|
|
+ VMSTATE_INT32(mode, SMBusDevice),
|
|
|
|
+ VMSTATE_INT32(data_len, SMBusDevice),
|
|
|
|
+ VMSTATE_UINT8_ARRAY(data_buf, SMBusDevice, SMBUS_DATA_MAX_LEN),
|
|
|
|
+ VMSTATE_END_OF_LIST()
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
static const TypeInfo smbus_device_type_info = {
|
|
static const TypeInfo smbus_device_type_info = {
|
|
.name = TYPE_SMBUS_DEVICE,
|
|
.name = TYPE_SMBUS_DEVICE,
|
|
.parent = TYPE_I2C_SLAVE,
|
|
.parent = TYPE_I2C_SLAVE,
|