qemu-devel@nongnu.org
[Top] [All Lists]

[Qemu-devel] [PATCH 06/20] qdev/pci: misc fixes.

Subject: [Qemu-devel] [PATCH 06/20] qdev/pci: misc fixes.
From: Gerd Hoffmann
Date: Mon, 29 Jun 2009 14:46:07 +0200
 * use core busnr.
 * fix secondary bus setup.
 * use base->name instead of "FIXME" for device name.
   Yes, the device name is redundant.  Only for drivers converted
   to qdev already though.  Once all drivers are converted we can
   and should kill it.

Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
---
 hw/pci.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/pci.c b/hw/pci.c
index c537ed0..5925617 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -115,7 +115,6 @@ PCIBus *pci_register_bus(DeviceState *parent, const char 
*name,
                          qemu_irq *pic, int devfn_min, int nirq)
 {
     PCIBus *bus;
-    static int nbus = 0;
 
     bus = FROM_QBUS(PCIBus, qbus_create(&pci_bus_info, parent, name));
     bus->set_irq = set_irq;
@@ -126,7 +125,7 @@ PCIBus *pci_register_bus(DeviceState *parent, const char 
*name,
     bus->irq_count = qemu_malloc(nirq * sizeof(bus->irq_count[0]));
     bus->next = first_bus;
     first_bus = bus;
-    register_savevm("PCIBUS", nbus++, 1, pcibus_save, pcibus_load, bus);
+    register_savevm("PCIBUS", bus->qbus.busnr, 1, pcibus_save, pcibus_load, 
bus);
     qemu_register_reset(pci_bus_reset, 0, bus);
     return bus;
 }
@@ -134,7 +133,8 @@ PCIBus *pci_register_bus(DeviceState *parent, const char 
*name,
 static PCIBus *pci_register_secondary_bus(PCIDevice *dev, pci_map_irq_fn 
map_irq)
 {
     PCIBus *bus;
-    bus = qemu_mallocz(sizeof(PCIBus));
+
+    bus = FROM_QBUS(PCIBus, qbus_create(&pci_bus_info, &dev->qdev, NULL));
     bus->map_irq = map_irq;
     bus->parent_dev = dev;
     bus->next = dev->bus->next;
@@ -954,7 +954,7 @@ static void pci_qdev_init(DeviceState *qdev, DeviceInfo 
*base)
 
     bus = FROM_QBUS(PCIBus, qdev_get_parent_bus(qdev));
     devfn = qdev_get_prop_int(qdev, "devfn", -1);
-    pci_dev = do_pci_register_device(pci_dev, bus, "FIXME", devfn,
+    pci_dev = do_pci_register_device(pci_dev, bus, base->name, devfn,
                                      info->config_read, info->config_write);
     assert(pci_dev);
     info->init(pci_dev);
-- 
1.6.2.5



<Prev in Thread] Current Thread [Next in Thread>