qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Gerd Hoffmann
Subject: [Qemu-devel] [PATCH 06/20] qdev/pci: misc fixes.
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 <address@hidden>
---
 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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]