vmstate: port cirrus_vga device
[qemu] / hw / max7310.c
index 69ede32..e737133 100644 (file)
@@ -190,7 +190,7 @@ static void max7310_gpio_set(void *opaque, int line, int level)
 
 /* MAX7310 is SMBus-compatible (can be used with only SMBus protocols),
  * but also accepts sequences that are not SMBus so return an I2C device.  */
-static void max7310_init(i2c_slave *i2c)
+static int max7310_init(i2c_slave *i2c)
 {
     MAX7310State *s = FROM_I2C_SLAVE(MAX7310State, i2c);
 
@@ -200,6 +200,7 @@ static void max7310_init(i2c_slave *i2c)
     max7310_reset(&s->i2c);
 
     register_savevm("max7310", -1, 0, max7310_save, max7310_load, s);
+    return 0;
 }
 
 qemu_irq *max7310_gpio_in_get(i2c_slave *i2c)
@@ -218,6 +219,8 @@ void max7310_gpio_out_set(i2c_slave *i2c, int line, qemu_irq handler)
 }
 
 static I2CSlaveInfo max7310_info = {
+    .qdev.name = "max7310",
+    .qdev.size = sizeof(MAX7310State),
     .init = max7310_init,
     .event = max7310_event,
     .recv = max7310_rx,
@@ -226,7 +229,7 @@ static I2CSlaveInfo max7310_info = {
 
 static void max7310_register_devices(void)
 {
-    i2c_register_slave("max7310", sizeof(MAX7310State), &max7310_info);
+    i2c_register_slave(&max7310_info);
 }
 
 device_init(max7310_register_devices)