This patchset moves all pci device ids from eal to the pmds that need them. Global pci device id list is then removed.
A new tool (name to be discussed) has been added to retrieve some information from the dpdk elf objects. I can't work on this subject at the moment, so please feel free to make these patches yours if you have better ideas / ways to achieve the same result. Changes since v2: - rebased on HEAD - ena driver has been aligned - this patchset now depends on [1] as it avoids touching all drivers this way - not storing the pci ids in a dedicated section anymore, pci drivers are exported and parsed by a quickly written (and naive) tool Changes since v1: - indent fixes in i40e, fm10k, virtio, vmxnet3, enic, bnx2c. - rebased on head (ixgbe update) - removed doc update (will be sent separately) [1]: http://dpdk.org/ml/archives/dev/2016-April/037686.html -- David Marchand David Marchand (13): e1000: move pci device ids to driver ixgbe: move pci device ids to driver i40e: move pci device ids to driver fm10k: move pci device ids to driver virtio: move pci device ids to driver vmxnet3: move pci device ids to driver enic: move pci device ids to driver bnx2x: move pci device ids to driver ena: remove unneeded pci macro pci: no need for global device ids list drivers: constify pci id tables drivers: export pci drivers app: introduce dpdk-obj-info tool app/Makefile | 1 + app/dpdk-obj-info/Makefile | 45 ++ app/dpdk-obj-info/dpdk-obj-info.c | 188 +++++++ app/test-pmd/Makefile | 2 + app/test-pmd/cmdline.c | 2 +- app/test/Makefile | 4 + app/test/test_pci.c | 5 +- doc/api/doxy-api-index.md | 1 - drivers/crypto/qat/rte_qat_cryptodev.c | 2 +- drivers/net/bnx2x/bnx2x.c | 3 +- drivers/net/bnx2x/bnx2x_ethdev.c | 25 +- drivers/net/cxgbe/cxgbe_ethdev.c | 2 +- drivers/net/e1000/em_ethdev.c | 2 +- drivers/net/e1000/em_pci_dev_ids.h | 208 +++++++ drivers/net/e1000/igb_ethdev.c | 4 +- drivers/net/e1000/igb_pci_dev_ids.h | 165 ++++++ drivers/net/ena/ena_ethdev.c | 10 +- drivers/net/enic/enic_ethdev.c | 13 +- drivers/net/fm10k/fm10k_ethdev.c | 7 +- drivers/net/i40e/i40e_ethdev.c | 21 +- drivers/net/i40e/i40e_ethdev_vf.c | 9 +- drivers/net/ixgbe/ixgbe_ethdev.c | 4 +- drivers/net/ixgbe/ixgbe_pci_dev_ids.h | 213 +++++++ drivers/net/mlx4/mlx4.c | 1 + drivers/net/mlx5/mlx5.c | 1 + drivers/net/nfp/nfp_net.c | 2 +- drivers/net/virtio/virtio_ethdev.c | 8 +- drivers/net/vmxnet3/vmxnet3_ethdev.c | 9 +- lib/librte_eal/common/Makefile | 2 +- lib/librte_eal/common/include/rte_pci.h | 7 + lib/librte_eal/common/include/rte_pci_dev_ids.h | 704 ------------------------ lib/librte_eal/linuxapp/kni/Makefile | 2 + lib/librte_eal/linuxapp/kni/kni_misc.c | 8 +- 33 files changed, 918 insertions(+), 762 deletions(-) create mode 100644 app/dpdk-obj-info/Makefile create mode 100644 app/dpdk-obj-info/dpdk-obj-info.c create mode 100644 drivers/net/e1000/em_pci_dev_ids.h create mode 100644 drivers/net/e1000/igb_pci_dev_ids.h create mode 100644 drivers/net/ixgbe/ixgbe_pci_dev_ids.h delete mode 100644 lib/librte_eal/common/include/rte_pci_dev_ids.h -- 1.9.1