OSDN Git Service

qtest/ahci: remove pcibus global
authorJohn Snow <jsnow@redhat.com>
Mon, 19 Jan 2015 20:15:58 +0000 (15:15 -0500)
committerStefan Hajnoczi <stefanha@redhat.com>
Mon, 16 Feb 2015 14:40:55 +0000 (14:40 +0000)
Rely on the PCI Device's bus pointer instead.
One less global to worry about.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1421698563-6977-11-git-send-email-jsnow@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
tests/ahci-test.c

index 96fb45c..0cc56ab 100644 (file)
@@ -45,7 +45,6 @@
 
 /*** Globals ***/
 static QGuestAllocator *guest_malloc;
-static QPCIBus *pcibus;
 static char tmp_path[] = "/tmp/qtest.XXXXXX";
 static bool ahci_pedantic;
 
@@ -100,6 +99,7 @@ static QPCIDevice *get_ahci_device(uint32_t *fingerprint)
 {
     QPCIDevice *ahci;
     uint32_t ahci_fingerprint;
+    QPCIBus *pcibus;
 
     pcibus = qpci_init_pc();
 
@@ -123,15 +123,13 @@ static QPCIDevice *get_ahci_device(uint32_t *fingerprint)
     return ahci;
 }
 
-static void free_ahci_device(QPCIDevice *ahci)
+static void free_ahci_device(QPCIDevice *dev)
 {
-    /* libqos doesn't have a function for this, so free it manually */
-    g_free(ahci);
+    QPCIBus *pcibus = dev ? dev->bus : NULL;
 
-    if (pcibus) {
-        qpci_free_pc(pcibus);
-        pcibus = NULL;
-    }
+    /* libqos doesn't have a function for this, so free it manually */
+    g_free(dev);
+    qpci_free_pc(pcibus);
 }
 
 /*** Test Setup & Teardown ***/