I have rebased the work done by Shreyansh and Thomas to follow the bus abstraction introduced in v17.02 for the PCI bus implementation. This series is only a partial version of the previous one, because some of the patches have already been integrated, and others still need rework.
Additionally, Jan Blunck sent this RFC: [RFC] eal: use busname and devargs to attach devices That has not been considered for this version as it had not yet spawned a discussion. changes in v13: - Removed the PCI tests. They cannot follow the bus implementation anymore, and it is an opportunity to update their original design. - Changed the rte_pci_match function semantic to match its name. - Made the rte_pci_match function private. - Made the rte_bus_list private - Made rte_eal_pci_add_device, rte_eal_pci_insert_device, rte_eal_pci_remove_device, functions private. Additional work is needed: - The PCI bus should be moved to the relevant bus sub-directory. - The documentation must be updated. But this version should allow for the PCI bus implementation to be integrated in v17.05-rc2. Gaetan Rivet (1): test: remove pci tests Shreyansh Jain (6): pci: split match and probe pci: remove loop over drivers in device detach pci: add bus driver pci: use bus driver for scan/probe pci: use bus driver for attach/detach doc: remove deprecation notice for rte_bus MAINTAINERS | 2 - doc/guides/rel_notes/release_17_02.rst | 2 +- lib/librte_eal/bsdapp/eal/Makefile | 2 +- lib/librte_eal/bsdapp/eal/eal.c | 14 - lib/librte_eal/bsdapp/eal/eal_pci.c | 34 +- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 - lib/librte_eal/common/eal_bus.h | 45 +++ lib/librte_eal/common/eal_common_dev.c | 57 +++- lib/librte_eal/common/eal_common_pci.c | 362 +++++++++++++-------- lib/librte_eal/common/eal_private.h | 41 ++- lib/librte_eal/common/include/rte_bus.h | 29 ++ lib/librte_eal/common/include/rte_pci.h | 94 ++++-- lib/librte_eal/linuxapp/eal/Makefile | 2 +- lib/librte_eal/linuxapp/eal/eal.c | 14 - lib/librte_eal/linuxapp/eal/eal_pci.c | 38 +-- lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 - test/test/Makefile | 2 - test/test/test.h | 3 - test/test/test_mp_secondary.c | 17 - test/test/test_pci.c | 322 ------------------ .../bus/pci/devices/0000:01:00.0/class | 1 - .../bus/pci/devices/0000:01:00.0/config | Bin 64 -> 0 bytes .../devices/0000:01:00.0/consistent_dma_mask_bits | 1 - .../bus/pci/devices/0000:01:00.0/device | 1 - .../bus/pci/devices/0000:01:00.0/dma_mask_bits | 1 - .../bus/pci/devices/0000:01:00.0/enable | 1 - .../bus/pci/devices/0000:01:00.0/irq | 1 - .../bus/pci/devices/0000:01:00.0/modalias | 1 - .../bus/pci/devices/0000:01:00.0/msi_bus | 1 - .../bus/pci/devices/0000:01:00.0/numa_node | 1 - .../bus/pci/devices/0000:01:00.0/resource | 13 - .../bus/pci/devices/0000:01:00.0/sriov_numvfs | 1 - .../bus/pci/devices/0000:01:00.0/sriov_totalvfs | 1 - .../bus/pci/devices/0000:01:00.0/subsystem_device | 1 - .../bus/pci/devices/0000:01:00.0/subsystem_vendor | 1 - .../bus/pci/devices/0000:01:00.0/uevent | 6 - .../bus/pci/devices/0000:01:00.0/vendor | 1 - .../bus/pci/devices/0000:01:02.0/class | 1 - .../bus/pci/devices/0000:01:02.0/device | 1 - .../bus/pci/devices/0000:01:02.0/resource | 13 - .../bus/pci/devices/0000:01:02.0/subsystem_device | 1 - .../bus/pci/devices/0000:01:02.0/subsystem_vendor | 1 - .../bus/pci/devices/0000:01:02.0/vendor | 1 - .../bus/pci/devices/0000:02:ab.0/class | 1 - .../bus/pci/devices/0000:02:ab.0/device | 1 - .../bus/pci/devices/0000:02:ab.0/resource | 13 - .../bus/pci/devices/0000:02:ab.0/subsystem_device | 1 - .../bus/pci/devices/0000:02:ab.0/subsystem_vendor | 1 - .../bus/pci/devices/0000:02:ab.0/vendor | 1 - 49 files changed, 478 insertions(+), 675 deletions(-) create mode 100644 lib/librte_eal/common/eal_bus.h delete mode 100644 test/test/test_pci.c delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/class delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/config delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/consistent_dma_mask_bits delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/device delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/dma_mask_bits delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/enable delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/irq delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/modalias delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/msi_bus delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/numa_node delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/resource delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/sriov_numvfs delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/sriov_totalvfs delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/subsystem_device delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/subsystem_vendor delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/uevent delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/vendor delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/class delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/device delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/resource delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/subsystem_device delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/subsystem_vendor delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/vendor delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/class delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/device delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/resource delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/subsystem_device delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/subsystem_vendor delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/vendor -- 2.1.4