pci: remove unused unbind support
authorStephen Hemminger <stephen@networkplumber.org>
Wed, 7 Dec 2016 18:04:36 +0000 (10:04 -0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 21 Dec 2016 15:13:46 +0000 (16:13 +0100)
No device driver sets the unbind flag in current public code base.
Therefore it is good time to remove the unused dead code.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
lib/librte_eal/bsdapp/eal/eal_pci.c
lib/librte_eal/common/eal_common_pci.c
lib/librte_eal/common/include/rte_pci.h
lib/librte_eal/linuxapp/eal/eal_pci.c

index 8b3ed88..3a5c315 100644 (file)
  * enabling bus master.
  */
 
-/* unbind kernel driver for this device */
-int
-pci_unbind_kernel_driver(struct rte_pci_device *dev __rte_unused)
-{
-       RTE_LOG(ERR, EAL, "RTE_PCI_DRV_FORCE_UNBIND flag is not implemented "
-               "for BSD\n");
-       return -ENOTSUP;
-}
-
 /* Map pci device */
 int
 rte_eal_pci_map_device(struct rte_pci_device *dev)
index 6bff675..33485bc 100644 (file)
@@ -203,11 +203,6 @@ rte_eal_pci_probe_one_driver(struct rte_pci_driver *dr, struct rte_pci_device *d
                        ret = rte_eal_pci_map_device(dev);
                        if (ret != 0)
                                return ret;
-               } else if (dr->drv_flags & RTE_PCI_DRV_FORCE_UNBIND &&
-                               rte_eal_process_type() == RTE_PROC_PRIMARY) {
-                       /* unbind current driver */
-                       if (pci_unbind_kernel_driver(dev) < 0)
-                               return -1;
                }
 
                /* reference driver structure */
index 9ce8847..fbc4311 100644 (file)
@@ -208,8 +208,6 @@ struct rte_pci_driver {
 
 /** Device needs PCI BAR mapping (done with either IGB_UIO or VFIO) */
 #define RTE_PCI_DRV_NEED_MAPPING 0x0001
-/** Device needs to be unbound even if no module is provided */
-#define RTE_PCI_DRV_FORCE_UNBIND 0x0004
 /** Device driver supports link state interrupt */
 #define RTE_PCI_DRV_INTR_LSC   0x0008
 /** Device driver supports detaching capability */
index 876ba38..4350134 100644 (file)
  * IGB_UIO driver (or doesn't initialize, if the device wasn't bound to it).
  */
 
-/* unbind kernel driver for this device */
-int
-pci_unbind_kernel_driver(struct rte_pci_device *dev)
-{
-       int n;
-       FILE *f;
-       char filename[PATH_MAX];
-       char buf[BUFSIZ];
-       struct rte_pci_addr *loc = &dev->addr;
-
-       /* open /sys/bus/pci/devices/AAAA:BB:CC.D/driver */
-       snprintf(filename, sizeof(filename),
-               "%s/" PCI_PRI_FMT "/driver/unbind", pci_get_sysfs_path(),
-               loc->domain, loc->bus, loc->devid, loc->function);
-
-       f = fopen(filename, "w");
-       if (f == NULL) /* device was not bound */
-               return 0;
-
-       n = snprintf(buf, sizeof(buf), PCI_PRI_FMT "\n",
-                    loc->domain, loc->bus, loc->devid, loc->function);
-       if ((n < 0) || (n >= (int)sizeof(buf))) {
-               RTE_LOG(ERR, EAL, "%s(): snprintf failed\n", __func__);
-               goto error;
-       }
-       if (fwrite(buf, n, 1, f) == 0) {
-               RTE_LOG(ERR, EAL, "%s(): could not write to %s\n", __func__,
-                               filename);
-               goto error;
-       }
-
-       fclose(f);
-       return 0;
-
-error:
-       fclose(f);
-       return -1;
-}
-
 static int
 pci_get_kernel_driver_by_path(const char *filename, char *dri_name)
 {