Add common BusState
Implement and use a common device bus state. The main side-effect is
that creating a bus and attaching it to a parent device are no longer
separate operations. For legacy code we allow a NULL parent, but that
should go away eventually.
Also tweak creation code to veriry theat a device in on the right bus.
Signed-off-by: Paul Brook <paul@codesourcery.com>
diff --git a/hw/versatile_pci.c b/hw/versatile_pci.c
index 720742c..e454d49 100644
--- a/hw/versatile_pci.c
+++ b/hw/versatile_pci.c
@@ -118,9 +118,9 @@
for (i = 0; i < 4; i++) {
sysbus_init_irq(dev, &s->irq[i]);
}
- bus = pci_register_bus(pci_vpb_set_irq, pci_vpb_map_irq, s->irq,
+ bus = pci_register_bus(&dev->qdev, "pci",
+ pci_vpb_set_irq, pci_vpb_map_irq, s->irq,
11 << 3, 4);
- qdev_attach_child_bus(&dev->qdev, "pci", bus);
/* ??? Register memory space. */