]> git.proxmox.com Git - mirror_qemu.git/commitdiff
savevm: Port to qdev.vmsd all devices that have qdev
authorJuan Quintela <quintela@redhat.com>
Wed, 2 Dec 2009 11:36:46 +0000 (12:36 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 3 Dec 2009 16:05:58 +0000 (10:05 -0600)
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
26 files changed:
hw/ac97.c
hw/cirrus_vga.c
hw/cs4231a.c
hw/e1000.c
hw/es1370.c
hw/gus.c
hw/lance.c
hw/lm832x.c
hw/lsi53c895a.c
hw/max7310.c
hw/ne2000-isa.c
hw/ne2000.c
hw/pckbd.c
hw/pcnet.c
hw/piix_pci.c
hw/rtl8139.c
hw/sb16.c
hw/ssd0303.c
hw/tmp105.c
hw/twl92230.c
hw/usb-uhci.c
hw/vga-pci.c
hw/vmware_vga.c
hw/wdt_i6300esb.c
hw/wdt_ib700.c
hw/wm8750.c

index f2d28233c917c66311bcd31a2f5d458aa0bdcd92..62e349a90b9a0786009f33685176b9ef939e0661 100644 (file)
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -1319,7 +1319,6 @@ static int ac97_initfn (PCIDevice *dev)
     pci_register_bar (&s->dev, 0, 256 * 4, PCI_BASE_ADDRESS_SPACE_IO,
                       ac97_map);
     pci_register_bar (&s->dev, 1, 64 * 4, PCI_BASE_ADDRESS_SPACE_IO, ac97_map);
-    vmstate_register (0, &vmstate_ac97, s);
     qemu_register_reset (ac97_on_reset, s);
     AUD_register_card ("ac97", &s->card);
     ac97_on_reset (s);
@@ -1336,6 +1335,7 @@ static PCIDeviceInfo ac97_info = {
     .qdev.name    = "AC97",
     .qdev.desc    = "Intel 82801AA AC97 Audio",
     .qdev.size    = sizeof (AC97LinkState),
+    .qdev.vmsd    = &vmstate_ac97,
     .init         = ac97_initfn,
 };
 
index d76e5bb9cf6c774913a44aa1e4caaf2c1f3e0a0e..1194b5a537b73864a1a53692524e5e9fd9899368 100644 (file)
@@ -3245,7 +3245,6 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
          pci_register_bar((PCIDevice *)d, 1, CIRRUS_PNPMMIO_SIZE,
                           PCI_BASE_ADDRESS_SPACE_MEMORY, cirrus_pci_mmio_map);
      }
-     vmstate_register(0, &vmstate_pci_cirrus_vga, d);
 
      /* ROM BIOS */
      rom_add_vga(VGABIOS_CIRRUS_FILENAME);
@@ -3260,6 +3259,7 @@ void pci_cirrus_vga_init(PCIBus *bus)
 static PCIDeviceInfo cirrus_vga_info = {
     .qdev.name    = "Cirrus VGA",
     .qdev.size    = sizeof(PCICirrusVGAState),
+    .qdev.vmsd    = &vmstate_pci_cirrus_vga,
     .init         = pci_cirrus_vga_initfn,
     .config_write = pci_cirrus_write_config,
 };
index 7c29aa84960c1722cdd7602a234ba05e2c7ad4da..4d5ce5c2779aea47598ece1da88474451dc0c98f 100644 (file)
@@ -651,7 +651,6 @@ static int cs4231a_initfn (ISADevice *dev)
 
     DMA_register_channel (s->dma, cs_dma_read, s);
 
-    vmstate_register (0, &vmstate_cs4231a, s);
     qemu_register_reset (cs_reset, s);
     cs_reset (s);
 
@@ -669,6 +668,7 @@ static ISADeviceInfo cs4231a_info = {
     .qdev.name     = "cs4231a",
     .qdev.desc     = "Crystal Semiconductor CS4231A",
     .qdev.size     = sizeof (CSState),
+    .qdev.vmsd     = &vmstate_cs4231a,
     .init          = cs4231a_initfn,
     .qdev.props    = (Property[]) {
         DEFINE_PROP_HEX32  ("iobase",  CSState, port, 0x534),
index 683fdccae3b36264346b289770aded549743d8c3..b65a74fe9eafcc3ec770a8e87a727a2692e8901b 100644 (file)
@@ -1051,7 +1051,6 @@ pci_e1000_uninit(PCIDevice *dev)
 
     cpu_unregister_io_memory(d->mmio_index);
     qemu_del_vlan_client(&d->nic->nc);
-    vmstate_unregister(&vmstate_e1000, d);
     return 0;
 }
 
@@ -1121,8 +1120,6 @@ static int pci_e1000_init(PCIDevice *pci_dev)
 
     qemu_format_nic_info_str(&d->nic->nc, macaddr);
 
-    vmstate_register(-1, &vmstate_e1000, d);
-
     if (!pci_dev->qdev.hotplugged) {
         static int loaded = 0;
         if (!loaded) {
@@ -1144,6 +1141,7 @@ static PCIDeviceInfo e1000_info = {
     .qdev.desc  = "Intel Gigabit Ethernet",
     .qdev.size  = sizeof(E1000State),
     .qdev.reset = qdev_e1000_reset,
+    .qdev.vmsd  = &vmstate_e1000,
     .init       = pci_e1000_init,
     .exit       = pci_e1000_uninit,
     .qdev.props = (Property[]) {
index 4e646dc57c6b6667419fa8e8db96bf5b7baebf4e..c3582539d59804c3454733eb10aa2cdf2448e1b5 100644 (file)
@@ -1023,7 +1023,6 @@ static int es1370_initfn (PCIDevice *dev)
     c[0x3f] = 0x80;
 
     pci_register_bar (&s->dev, 0, 256, PCI_BASE_ADDRESS_SPACE_IO, es1370_map);
-    vmstate_register (0, &vmstate_es1370, s);
     qemu_register_reset (es1370_on_reset, s);
 
     AUD_register_card ("es1370", &s->card);
@@ -1041,6 +1040,7 @@ static PCIDeviceInfo es1370_info = {
     .qdev.name    = "ES1370",
     .qdev.desc    = "ENSONIQ AudioPCI ES1370",
     .qdev.size    = sizeof (ES1370State),
+    .qdev.vmsd    = &vmstate_es1370,
     .init         = es1370_initfn,
 };
 
index d35da0a0c6529a89151ad6b1a28c53188507e723..e9016d8105b37a9619f255072cdcfeba74c198fd 100644 (file)
--- a/hw/gus.c
+++ b/hw/gus.c
@@ -287,7 +287,6 @@ static int gus_initfn (ISADevice *dev)
 
     AUD_set_active_out (s->voice, 1);
 
-    vmstate_register (0, &vmstate_gus, s);
     return 0;
 }
 
@@ -301,6 +300,7 @@ static ISADeviceInfo gus_info = {
     .qdev.name     = "gus",
     .qdev.desc     = "Gravis Ultrasound GF1",
     .qdev.size     = sizeof (GUSState),
+    .qdev.vmsd     = &vmstate_gus,
     .init          = gus_initfn,
     .qdev.props    = (Property[]) {
         DEFINE_PROP_UINT32 ("freq",    GUSState, freq,        44100),
index 98033a4ed3b353345fd6c0eb89a0dcb830e71c74..b6b04ddb9c153c428fa736c2d00d1674445d15d3 100644 (file)
@@ -96,7 +96,6 @@ static void lance_cleanup(VLANClientState *nc)
 {
     PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
 
-    vmstate_unregister(&vmstate_pcnet, d);
     pcnet_common_cleanup(d);
 }
 
@@ -108,6 +107,17 @@ static NetClientInfo net_lance_info = {
     .cleanup = lance_cleanup,
 };
 
+static const VMStateDescription vmstate_lance = {
+    .name = "pcnet",
+    .version_id = 3,
+    .minimum_version_id = 2,
+    .minimum_version_id_old = 2,
+    .fields      = (VMStateField []) {
+        VMSTATE_STRUCT(state, SysBusPCNetState, 0, vmstate_pcnet, PCNetState),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
 static int lance_init(SysBusDevice *dev)
 {
     SysBusPCNetState *d = FROM_SYSBUS(SysBusPCNetState, dev);
@@ -124,8 +134,6 @@ static int lance_init(SysBusDevice *dev)
 
     s->phys_mem_read = ledma_memory_read;
     s->phys_mem_write = ledma_memory_write;
-
-    vmstate_register(-1, &vmstate_pcnet, d);
     return pcnet_common_init(&dev->qdev, s, &net_lance_info);
 }
 
@@ -141,6 +149,7 @@ static SysBusDeviceInfo lance_info = {
     .qdev.name  = "lance",
     .qdev.size  = sizeof(SysBusPCNetState),
     .qdev.reset = lance_reset,
+    .qdev.vmsd  = &vmstate_lance,
     .qdev.props = (Property[]) {
         DEFINE_PROP_PTR("dma", SysBusPCNetState, state.dma_opaque),
         DEFINE_NIC_PROPERTIES(SysBusPCNetState, state.conf),
index 7e552c72049a8b35bbde74862adf1dee319168ce..ce7dcac6885897eeed2692a737d9217ba751cf42 100644 (file)
@@ -471,7 +471,6 @@ static int lm8323_init(i2c_slave *i2c)
     lm_kbd_reset(s);
 
     qemu_register_reset((void *) lm_kbd_reset, s);
-    vmstate_register(-1, &vmstate_lm_kbd, s);
     return 0;
 }
 
@@ -498,6 +497,7 @@ void lm832x_key_event(struct i2c_slave *i2c, int key, int state)
 static I2CSlaveInfo lm8323_info = {
     .qdev.name = "lm8323",
     .qdev.size = sizeof(LM823KbdState),
+    .qdev.vmsd = &vmstate_lm_kbd,
     .init = lm8323_init,
     .event = lm_i2c_event,
     .recv = lm_i2c_rx,
index ab0de86104035e6626bb70c51c1d10c22dac8b2b..9abac94c246a67964130b61dfea56e68cd3cb65a 100644 (file)
@@ -2148,7 +2148,6 @@ static int lsi_scsi_init(PCIDevice *dev)
     if (!dev->qdev.hotplugged) {
         scsi_bus_legacy_handle_cmdline(&s->bus);
     }
-    vmstate_register(-1, &vmstate_lsi_scsi, s);
     return 0;
 }
 
@@ -2156,6 +2155,7 @@ static PCIDeviceInfo lsi_info = {
     .qdev.name  = "lsi53c895a",
     .qdev.alias = "lsi",
     .qdev.size  = sizeof(LSIState),
+    .qdev.vmsd  = &vmstate_lsi_scsi,
     .init       = lsi_scsi_init,
     .exit       = lsi_scsi_uninit,
 };
index 0ce6ac9ec494d5a6d7a8797d2ec8720828495bd6..c302eb6aa4561bd536c6f191f399b3a86740b791 100644 (file)
@@ -184,7 +184,6 @@ static int max7310_init(i2c_slave *i2c)
 
     max7310_reset(&s->i2c);
 
-    vmstate_register(-1, &vmstate_max7310, s);
     return 0;
 }
 
@@ -206,6 +205,7 @@ void max7310_gpio_out_set(i2c_slave *i2c, int line, qemu_irq handler)
 static I2CSlaveInfo max7310_info = {
     .qdev.name = "max7310",
     .qdev.size = sizeof(MAX7310State),
+    .qdev.vmsd = &vmstate_max7310,
     .init = max7310_init,
     .event = max7310_event,
     .recv = max7310_rx,
index 0260f849fd237ef21ddd623a9a82d496c10cffe8..d2e9283be35721800e503c8e6633eff936ee9100 100644 (file)
@@ -50,6 +50,17 @@ static NetClientInfo net_ne2000_isa_info = {
     .cleanup = isa_ne2000_cleanup,
 };
 
+const VMStateDescription vmstate_isa_ne2000 = {
+    .name = "ne2000",
+    .version_id = 2,
+    .minimum_version_id = 0,
+    .minimum_version_id_old = 0,
+    .fields      = (VMStateField []) {
+        VMSTATE_STRUCT(ne2000, ISANE2000State, 0, vmstate_ne2000, NE2000State),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
 static int isa_ne2000_initfn(ISADevice *dev)
 {
     ISANE2000State *isa = DO_UPCAST(ISANE2000State, dev, dev);
@@ -75,7 +86,6 @@ static int isa_ne2000_initfn(ISADevice *dev)
                           dev->qdev.info->name, dev->qdev.id, s);
     qemu_format_nic_info_str(&s->nic->nc, s->c.macaddr.a);
 
-    vmstate_register(-1, &vmstate_ne2000, s);
     return 0;
 }
 
index 0be189af573143c5cddf1df788e3a86b0ad66888..e0655ffa4c2e80db3e220e139b0ee48b4d14df8b 100644 (file)
@@ -746,7 +746,6 @@ static int pci_ne2000_init(PCIDevice *pci_dev)
         }
     }
 
-    vmstate_register(-1, &vmstate_pci_ne2000, d);
     return 0;
 }
 
@@ -755,7 +754,6 @@ static int pci_ne2000_exit(PCIDevice *pci_dev)
     PCINE2000State *d = DO_UPCAST(PCINE2000State, dev, pci_dev);
     NE2000State *s = &d->ne2000;
 
-    vmstate_unregister(&vmstate_pci_ne2000, s);
     qemu_del_vlan_client(&s->nic->nc);
     return 0;
 }
@@ -763,6 +761,7 @@ static int pci_ne2000_exit(PCIDevice *pci_dev)
 static PCIDeviceInfo ne2000_info = {
     .qdev.name  = "ne2k_pci",
     .qdev.size  = sizeof(PCINE2000State),
+    .qdev.vmsd  = &vmstate_pci_ne2000,
     .init       = pci_ne2000_init,
     .exit       = pci_ne2000_exit,
     .qdev.props = (Property[]) {
index a81b303dae5b0f63ea3686f124b6594627b99d47..7e0d68df2b16de5437131e7dc9fcb26edbc98e33 100644 (file)
@@ -414,6 +414,17 @@ typedef struct ISAKBDState {
     KBDState  kbd;
 } ISAKBDState;
 
+const VMStateDescription vmstate_kbd_isa = {
+    .name = "pckbd",
+    .version_id = 3,
+    .minimum_version_id = 3,
+    .minimum_version_id_old = 3,
+    .fields      = (VMStateField []) {
+        VMSTATE_STRUCT(kbd, ISAKBDState, 0, vmstate_kbd, KBDState),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
 static int i8042_initfn(ISADevice *dev)
 {
     KBDState *s = &(DO_UPCAST(ISAKBDState, dev, dev)->kbd);
@@ -421,7 +432,6 @@ static int i8042_initfn(ISADevice *dev)
     isa_init_irq(dev, &s->irq_kbd, 1);
     isa_init_irq(dev, &s->irq_mouse, 12);
 
-    vmstate_register(0, &vmstate_kbd, s);
     register_ioport_read(0x60, 1, 1, kbd_read_data, s);
     register_ioport_write(0x60, 1, 1, kbd_write_data, s);
     register_ioport_read(0x64, 1, 1, kbd_read_status, s);
@@ -439,6 +449,7 @@ static int i8042_initfn(ISADevice *dev)
 static ISADeviceInfo i8042_info = {
     .qdev.name     = "i8042",
     .qdev.size     = sizeof(ISAKBDState),
+    .qdev.vmsd     = &vmstate_kbd_isa,
     .qdev.no_user  = 1,
     .init          = i8042_initfn,
 };
index 195c825c89a245425a0c62421cadc1a9435b5582..138fbc6d0bc5ef831a72b0737589c6632680a9f1 100644 (file)
@@ -1952,7 +1952,6 @@ static int pci_pcnet_uninit(PCIDevice *dev)
     PCIPCNetState *d = DO_UPCAST(PCIPCNetState, pci_dev, dev);
 
     cpu_unregister_io_memory(d->state.mmio_index);
-    vmstate_unregister(&vmstate_pci_pcnet, d);
     qemu_del_timer(d->state.poll_timer);
     qemu_free_timer(d->state.poll_timer);
     qemu_del_vlan_client(&d->state.nic->nc);
@@ -2010,8 +2009,6 @@ static int pci_pcnet_init(PCIDevice *pci_dev)
     s->phys_mem_read = pci_physical_memory_read;
     s->phys_mem_write = pci_physical_memory_write;
 
-    vmstate_register(-1, &vmstate_pci_pcnet, d);
-
     if (!pci_dev->qdev.hotplugged) {
         static int loaded = 0;
         if (!loaded) {
@@ -2034,6 +2031,7 @@ static PCIDeviceInfo pcnet_info = {
     .qdev.name  = "pcnet",
     .qdev.size  = sizeof(PCIPCNetState),
     .qdev.reset = pci_reset,
+    .qdev.vmsd  = &vmstate_pci_pcnet,
     .init       = pci_pcnet_init,
     .exit       = pci_pcnet_uninit,
     .qdev.props = (Property[]) {
index a44f941dc29f7123ee2829c080ad1af17e34d2d7..1b67475e03280f2203f23a5fa054ec4884e28f6d 100644 (file)
@@ -198,7 +198,6 @@ static int i440fx_initfn(PCIDevice *dev)
 
     d->dev.config[0x72] = 0x02; /* SMRAM */
 
-    vmstate_register(0, &vmstate_i440fx, d);
     return 0;
 }
 
@@ -312,7 +311,6 @@ static int piix3_initfn(PCIDevice *dev)
     uint8_t *pci_conf;
 
     isa_bus_new(&d->dev.qdev);
-    vmstate_register(0, &vmstate_piix3, d);
 
     pci_conf = d->dev.config;
     pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
@@ -330,6 +328,7 @@ static PCIDeviceInfo i440fx_info[] = {
         .qdev.name    = "i440FX",
         .qdev.desc    = "Host bridge",
         .qdev.size    = sizeof(PCII440FXState),
+        .qdev.vmsd    = &vmstate_i440fx,
         .qdev.no_user = 1,
         .init         = i440fx_initfn,
         .config_write = i440fx_write_config,
@@ -337,6 +336,7 @@ static PCIDeviceInfo i440fx_info[] = {
         .qdev.name    = "PIIX3",
         .qdev.desc    = "ISA bridge",
         .qdev.size    = sizeof(PIIX3State),
+        .qdev.vmsd    = &vmstate_piix3,
         .qdev.no_user = 1,
         .init         = piix3_initfn,
     },{
index d2a94439828281d4bf5eafc4ad88f081acf85897..9fd05a8a1b25553d549bc27aeed6143664bdbfc5 100644 (file)
@@ -3300,7 +3300,6 @@ static int pci_rtl8139_uninit(PCIDevice *dev)
     qemu_del_timer(s->timer);
     qemu_free_timer(s->timer);
 #endif
-    vmstate_unregister(&vmstate_rtl8139, s);
     qemu_del_vlan_client(&s->nic->nc);
     return 0;
 }
@@ -3348,8 +3347,6 @@ static int pci_rtl8139_init(PCIDevice *dev)
     s->cplus_txbuffer_len = 0;
     s->cplus_txbuffer_offset = 0;
 
-    vmstate_register(-1, &vmstate_rtl8139, s);
-
 #ifdef RTL8139_ONBOARD_TIMER
     s->timer = qemu_new_timer(vm_clock, rtl8139_timer, s);
 
@@ -3371,6 +3368,7 @@ static PCIDeviceInfo rtl8139_info = {
     .qdev.name  = "rtl8139",
     .qdev.size  = sizeof(RTL8139State),
     .qdev.reset = rtl8139_reset,
+    .qdev.vmsd  = &vmstate_rtl8139,
     .init       = pci_rtl8139_init,
     .exit       = pci_rtl8139_uninit,
     .qdev.props = (Property[]) {
index 4c0d682fd9d6b22915733e99036ae290a2b0a086..9f4ac5040e5479c4a82e36b4d47d3c551c91e5f0 100644 (file)
--- a/hw/sb16.c
+++ b/hw/sb16.c
@@ -1381,7 +1381,6 @@ static int sb16_initfn (ISADevice *dev)
     DMA_register_channel (s->dma, SB_read_DMA, s);
     s->can_write = 1;
 
-    vmstate_register (0, &vmstate_sb16, s);
     AUD_register_card ("sb16", &s->card);
     return 0;
 }
@@ -1396,6 +1395,7 @@ static ISADeviceInfo sb16_info = {
     .qdev.name     = "sb16",
     .qdev.desc     = "Creative Sound Blaster 16",
     .qdev.size     = sizeof (SB16State),
+    .qdev.vmsd     = &vmstate_sb16,
     .init          = sb16_initfn,
     .qdev.props    = (Property[]) {
         DEFINE_PROP_HEX32  ("version", SB16State, ver,  0x0405), /* 4.5 */
index f60930e3b74069dcf989dd666b7241856f8a92dd..108c0683c8907c806434609d9eff7eae1d435c36 100644 (file)
@@ -291,13 +291,13 @@ static int ssd0303_init(i2c_slave *i2c)
                                  ssd0303_invalidate_display,
                                  NULL, NULL, s);
     qemu_console_resize(s->ds, 96 * MAGNIFY, 16 * MAGNIFY);
-    vmstate_register(-1, &vmstate_ssd0303, s);
     return 0;
 }
 
 static I2CSlaveInfo ssd0303_info = {
     .qdev.name = "ssd0303",
     .qdev.size = sizeof(ssd0303_state),
+    .qdev.vmsd = &vmstate_ssd0303,
     .init = ssd0303_init,
     .event = ssd0303_event,
     .recv = ssd0303_recv,
index 74141b3789ef04d903172e6fa6a5ccf5a0478573..8343afff8f9e563f0df5918d91f5edddde012796 100644 (file)
@@ -228,13 +228,13 @@ static int tmp105_init(i2c_slave *i2c)
 
     tmp105_reset(&s->i2c);
 
-    vmstate_register(-1, &vmstate_tmp105, s);
     return 0;
 }
 
 static I2CSlaveInfo tmp105_info = {
     .qdev.name = "tmp105",
     .qdev.size = sizeof(TMP105State),
+    .qdev.vmsd = &vmstate_tmp105,
     .init = tmp105_init,
     .event = tmp105_event,
     .recv = tmp105_rx,
index 93232da2d5be2eb5d29c7ad309760cb9412b46c5..b1b2ac9ce5eb129d092e937a9f6cbe3052e21d55 100644 (file)
@@ -855,13 +855,13 @@ static int twl92230_init(i2c_slave *i2c)
 
     menelaus_reset(&s->i2c);
 
-    vmstate_register(-1, &vmstate_menelaus, s);
     return 0;
 }
 
 static I2CSlaveInfo twl92230_info = {
     .qdev.name ="twl92230",
     .qdev.size = sizeof(MenelausState),
+    .qdev.vmsd = &vmstate_menelaus,
     .init = twl92230_init,
     .event = menelaus_event,
     .recv = menelaus_rx,
index 671916e05629b9171cef4034c29d471a5b9fbaab..ba26a4efc7f9faaab5b6982c5ab3e83d832c194f 100644 (file)
@@ -1086,7 +1086,6 @@ static int usb_uhci_common_initfn(UHCIState *s)
     pci_register_bar(&s->dev, 4, 0x20,
                            PCI_BASE_ADDRESS_SPACE_IO, uhci_map);
 
-    vmstate_register(0, &vmstate_uhci, s);
     return 0;
 }
 
@@ -1114,10 +1113,12 @@ static PCIDeviceInfo uhci_info[] = {
     {
         .qdev.name    = "PIIX3 USB-UHCI",
         .qdev.size    = sizeof(UHCIState),
+        .qdev.vmsd    = &vmstate_uhci,
         .init         = usb_uhci_piix3_initfn,
     },{
         .qdev.name    = "PIIX4 USB-UHCI",
         .qdev.size    = sizeof(UHCIState),
+        .qdev.vmsd    = &vmstate_uhci,
         .init         = usb_uhci_piix4_initfn,
     },{
         /* end of list */
index a6ad46ba7d0c29ca4130741e8f9699a58ee94fe3..e8cc0247adf95280aa4298515a1ba60a42c88dd3 100644 (file)
@@ -82,7 +82,6 @@ static int pci_vga_initfn(PCIDevice *dev)
      // vga + console init
      vga_common_init(s, VGA_RAM_SIZE);
      vga_init(s);
-     vmstate_register(0, &vmstate_vga_pci, d);
 
      s->ds = graphic_console_init(s->update, s->invalidate,
                                   s->screen_dump, s->text_update, s);
@@ -134,6 +133,7 @@ int pci_vga_init(PCIBus *bus,
 static PCIDeviceInfo vga_info = {
     .qdev.name    = "VGA",
     .qdev.size    = sizeof(PCIVGAState),
+    .qdev.vmsd    = &vmstate_vga_pci,
     .init         = pci_vga_initfn,
     .config_write = pci_vga_write_config,
     .qdev.props   = (Property[]) {
index bb3410105fb0f01122a3df0929684bc47db6523e..24ea6205b07f4b4483da918496c4e537ceb92922 100644 (file)
@@ -1189,7 +1189,6 @@ static int pci_vmsvga_initfn(PCIDevice *dev)
 
     vmsvga_init(&s->chip, VGA_RAM_SIZE);
 
-    vmstate_register(0, &vmstate_vmware_vga, s);
     return 0;
 }
 
@@ -1201,6 +1200,7 @@ void pci_vmsvga_init(PCIBus *bus)
 static PCIDeviceInfo vmsvga_info = {
     .qdev.name    = "QEMUware SVGA",
     .qdev.size    = sizeof(struct pci_vmsvga_state_s),
+    .qdev.vmsd    = &vmstate_vmware_vga,
     .init         = pci_vmsvga_initfn,
 };
 
index 27fa09e4170f3ef3e223526aca9936f8163a1306..805b3028fc80ebe1cdd32a0761b3e1e90fdce54e 100644 (file)
@@ -416,8 +416,6 @@ static int i6300esb_init(PCIDevice *dev)
     pci_register_bar(&d->dev, 0, 0x10,
                             PCI_BASE_ADDRESS_SPACE_MEMORY, i6300esb_map);
 
-    vmstate_register(-1, &vmstate_i6300esb, d);
-
     return 0;
 }
 
@@ -429,6 +427,7 @@ static WatchdogTimerModel model = {
 static PCIDeviceInfo i6300esb_info = {
     .qdev.name    = "i6300esb",
     .qdev.size    = sizeof(I6300State),
+    .qdev.vmsd    = &vmstate_i6300esb,
     .config_read  = i6300esb_config_read,
     .config_write = i6300esb_config_write,
     .init         = i6300esb_init,
index d67bf9eb4a871726d3daeb3a8ceb5589149b8b62..c34687bcac0a0e19ca7930046069b8d22ff323a2 100644 (file)
@@ -98,7 +98,6 @@ static int wdt_ib700_init(ISADevice *dev)
     IB700State *s = DO_UPCAST(IB700State, dev, dev);
 
     s->timer = qemu_new_timer(vm_clock, ib700_timer_expired, s);
-    vmstate_register(-1, &vmstate_ib700, s);
     register_ioport_write(0x441, 2, 1, ib700_write_disable_reg, s);
     register_ioport_write(0x443, 2, 1, ib700_write_enable_reg, s);
 
@@ -113,6 +112,7 @@ static WatchdogTimerModel model = {
 static ISADeviceInfo wdt_ib700_info = {
     .qdev.name = "ib700",
     .qdev.size = sizeof(IB700State),
+    .qdev.vmsd = &vmstate_ib700,
     .init      = wdt_ib700_init,
 };
 
index e6a9c068161c1415873af9ca77d0ec0942a51f7e..6064da04134b6363d934e5958fc5d203c257e246 100644 (file)
@@ -622,7 +622,6 @@ static int wm8750_init(i2c_slave *i2c)
     AUD_register_card(CODEC, &s->card);
     wm8750_reset(&s->i2c);
 
-    vmstate_register(-1, &vmstate_wm8750, s);
     return 0;
 }
 
@@ -699,6 +698,7 @@ void wm8750_set_bclk_in(void *opaque, int new_hz)
 static I2CSlaveInfo wm8750_info = {
     .qdev.name = "wm8750",
     .qdev.size = sizeof(WM8750State),
+    .qdev.vmsd = &vmstate_wm8750,
     .init = wm8750_init,
     .event = wm8750_event,
     .recv = wm8750_rx,