summary refs log tree commit diff stats
path: root/hw/acpi/piix4.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2013-11-28 17:27:00 +0100
committerAndreas Färber <afaerber@suse.de>2013-12-23 00:27:23 +0100
commit81aab2ff1118a4de8fd92ae89380ccfbc2870574 (patch)
treed1701f2f4b2615d234422abc9484c10b769ef67f /hw/acpi/piix4.c
parentbfa6dfd070f0cb5be37ae3bd6b90bdd67849c311 (diff)
downloadfocaccia-qemu-81aab2ff1118a4de8fd92ae89380ccfbc2870574.tar.gz
focaccia-qemu-81aab2ff1118a4de8fd92ae89380ccfbc2870574.zip
piix3 piix4: Clean up use of cannot_instantiate_with_device_add_yet
A PIIX3/PIIX4 southbridge has multiple functions.  We model each
function as a separate qdev.  Two of them need some special wiring set
up in pc_init1() or mips_malta_init() to work: the ISA bridge at 01.0,
and the SMBus controller at 01.3.

The IDE controller at 01.1 (piix3-ide, piix3-ide-xen, piix4-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: Marcel Apfelbaum <marcel.a@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'hw/acpi/piix4.c')
-rw-r--r--hw/acpi/piix4.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index dd11534c41..9e8a89c233 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -544,9 +544,13 @@ static void piix4_pm_class_init(ObjectClass *klass, void *data)
     k->revision = 0x03;
     k->class_id = PCI_CLASS_BRIDGE_OTHER;
     dc->desc = "PM";
-    dc->cannot_instantiate_with_device_add_yet = true; /* FIXME explain why */
     dc->vmsd = &vmstate_acpi;
     dc->props = piix4_pm_properties;
+    /*
+     * Reason: part of PIIX4 southbridge, needs to be wired up,
+     * e.g. by mips_malta_init()
+     */
+    dc->cannot_instantiate_with_device_add_yet = true;
 }
 
 static const TypeInfo piix4_pm_info = {