]> git.proxmox.com Git - mirror_qemu.git/blobdiff - hw/piix4.c
qdev: register all types natively through QEMU Object Model
[mirror_qemu.git] / hw / piix4.c
index 88be53587c57f2b4313e57a0ff9d798a06b168c1..4e7a2370cd75e47fd0ba1089916eb7801abfbf89 100644 (file)
@@ -104,6 +104,7 @@ int piix4_init(PCIBus *bus, ISABus **isa_bus, int devfn)
 
 static void piix4_class_init(ObjectClass *klass, void *data)
 {
+    DeviceClass *dc = DEVICE_CLASS(klass);
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 
     k->no_hotplug = 1;
@@ -111,19 +112,20 @@ static void piix4_class_init(ObjectClass *klass, void *data)
     k->vendor_id = PCI_VENDOR_ID_INTEL;
     k->device_id = PCI_DEVICE_ID_INTEL_82371AB_0;
     k->class_id = PCI_CLASS_BRIDGE_ISA;
+    dc->desc = "ISA bridge";
+    dc->no_user = 1;
+    dc->vmsd = &vmstate_piix4;
 }
 
-static DeviceInfo piix4_info = {
-    .name = "PIIX4",
-    .desc = "ISA bridge",
-    .size = sizeof(PIIX4State),
-    .vmsd = &vmstate_piix4,
-    .no_user = 1,
-    .class_init = piix4_class_init,
+static TypeInfo piix4_info = {
+    .name          = "PIIX4",
+    .parent        = TYPE_PCI_DEVICE,
+    .instance_size = sizeof(PIIX4State),
+    .class_init    = piix4_class_init,
 };
 
 static void piix4_register(void)
 {
-    pci_qdev_register(&piix4_info);
+    type_register_static(&piix4_info);
 }
 device_init(piix4_register);