[PATCH 2/6] pci: Remove 'reprobe' parameter from virPCIDeviceUnbind()

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

 



The value is not inspected inside the function, so it makes more
sense for the caller to change the device's setting explicitly.
---
 src/util/virpci.c  | 10 ++++++----
 src/util/virpci.h  |  2 +-
 tests/virpcitest.c |  2 +-
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/util/virpci.c b/src/util/virpci.c
index 424983d..21eacf5 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -1037,7 +1037,7 @@ virPCIProbeStubDriver(const char *driver)
 }
 
 int
-virPCIDeviceUnbind(virPCIDevicePtr dev, bool reprobe)
+virPCIDeviceUnbind(virPCIDevicePtr dev)
 {
     char *path = NULL;
     char *drvpath = NULL;
@@ -1063,7 +1063,6 @@ virPCIDeviceUnbind(virPCIDevicePtr dev, bool reprobe)
                                  dev->name, driver);
             goto cleanup;
         }
-        dev->reprobe = reprobe;
     }
 
     ret = 0;
@@ -1116,7 +1115,7 @@ virPCIDeviceUnbindFromStub(virPCIDevicePtr dev)
     if (!isStub)
         goto remove_slot;
 
-    if (virPCIDeviceUnbind(dev, dev->reprobe) < 0)
+    if (virPCIDeviceUnbind(dev) < 0)
         goto cleanup;
     dev->unbind_from_stub = false;
 
@@ -1230,9 +1229,12 @@ virPCIDeviceBindToStub(virPCIDevicePtr dev)
         goto remove_id;
     }
 
-    if (virPCIDeviceUnbind(dev, reprobe) < 0)
+    if (virPCIDeviceUnbind(dev) < 0)
         goto remove_id;
 
+    /* If the device was bound to a driver we'll need to reprobe later */
+    dev->reprobe = reprobe;
+
     /* If the device isn't already bound to pci-stub, try binding it now.
      */
     if (!virFileLinkPointsTo(driverLink, stubDriverPath)) {
diff --git a/src/util/virpci.h b/src/util/virpci.h
index f3d5676..e628ab8 100644
--- a/src/util/virpci.h
+++ b/src/util/virpci.h
@@ -201,7 +201,7 @@ int virPCIDeviceAddressParse(char *address, virPCIDeviceAddressPtr bdf);
 int virPCIGetVirtualFunctionInfo(const char *vf_sysfs_device_path,
                                  char **pfname, int *vf_index);
 
-int virPCIDeviceUnbind(virPCIDevicePtr dev, bool reprobe);
+int virPCIDeviceUnbind(virPCIDevicePtr dev);
 int virPCIDeviceGetDriverPathAndName(virPCIDevicePtr dev,
                                      char **path,
                                      char **name);
diff --git a/tests/virpcitest.c b/tests/virpcitest.c
index f1c5369..1ade3e5 100644
--- a/tests/virpcitest.c
+++ b/tests/virpcitest.c
@@ -341,7 +341,7 @@ testVirPCIDeviceUnbind(const void *opaque)
     if (!dev)
         goto cleanup;
 
-    if (virPCIDeviceUnbind(dev, false) < 0)
+    if (virPCIDeviceUnbind(dev) < 0)
         goto cleanup;
 
     ret = 0;
-- 
2.5.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]