Ver código fonte

vt82c686: Clean up use of cannot_instantiate_with_device_add_yet

A VT82C686B southbridge has multiple functions.  We model each
function as a separate qdev.  One of them need some special wiring set
up in mips_fulong2e_init() to work: the ISA bridge at 05.0.

The IDE controller at 05.1 (via-ide) has always had
cannot_instantiate_with_device_add_yet set, but there is no obvious
reason why device_add could not work for them.  Drop it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Markus Armbruster 11 anos atrás
pai
commit
04916ee9fb
2 arquivos alterados com 5 adições e 2 exclusões
  1. 0 1
      hw/ide/via.c
  2. 5 1
      hw/isa/vt82c686.c

+ 0 - 1
hw/ide/via.c

@@ -225,7 +225,6 @@ static void via_ide_class_init(ObjectClass *klass, void *data)
     k->revision = 0x06;
     k->revision = 0x06;
     k->class_id = PCI_CLASS_STORAGE_IDE;
     k->class_id = PCI_CLASS_STORAGE_IDE;
     set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
     set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
-    dc->cannot_instantiate_with_device_add_yet = true; /* FIXME explain why */
 }
 }
 
 
 static const TypeInfo via_ide_info = {
 static const TypeInfo via_ide_info = {

+ 5 - 1
hw/isa/vt82c686.c

@@ -480,8 +480,12 @@ static void via_class_init(ObjectClass *klass, void *data)
     k->class_id = PCI_CLASS_BRIDGE_ISA;
     k->class_id = PCI_CLASS_BRIDGE_ISA;
     k->revision = 0x40;
     k->revision = 0x40;
     dc->desc = "ISA bridge";
     dc->desc = "ISA bridge";
-    dc->cannot_instantiate_with_device_add_yet = true; /* FIXME explain why */
     dc->vmsd = &vmstate_via;
     dc->vmsd = &vmstate_via;
+    /*
+     * Reason: part of VIA VT82C686 southbridge, needs to be wired up,
+     * e.g. by mips_fulong2e_init()
+     */
+    dc->cannot_instantiate_with_device_add_yet = true;
 }
 }
 
 
 static const TypeInfo via_info = {
 static const TypeInfo via_info = {