Rather than rely on Linux headers to find some PCI(e) standard constants or reinvent the same PCI capability helper, this series complements the pci library and the pci bus driver. PCI drivers can then use OS agnostic macros and helpers.
-- David Marchand Changes since v2: - fixed vendor capability handling in virtio drivers (thanks Chenbo!), Changes since v1: - fix VFIO-backed drivers broken by v1 patch 3, - enhanced rte_pci.h defines organisation, David Marchand (15): drivers: remove duplicated PCI master control bus/pci: add const to some experimental API bus/pci: rework MSIX discovery with VFIO bus/pci: find PCI capability pci: define some capability constants pci: define some MSIX constants pci: define some command constants pci: define some BAR constants pci: define some PM constants pci: define some PCIe constants pci: define some extended capability constants pci: define some ACS constants pci: define some PRI constants pci: define some AER constants devtools: forbid inclusion of Linux header for PCI devtools/checkpatches.sh | 8 ++ drivers/bus/pci/linux/pci_init.h | 18 ---- drivers/bus/pci/linux/pci_uio.c | 32 +----- drivers/bus/pci/linux/pci_vfio.c | 148 ++++++-------------------- drivers/bus/pci/pci_common.c | 58 ++++++++++- drivers/bus/pci/rte_bus_pci.h | 57 +++++++++- drivers/bus/pci/version.map | 5 + drivers/crypto/virtio/virtio_pci.c | 67 ++++-------- drivers/event/dlb2/pf/dlb2_main.c | 156 ++++++++-------------------- drivers/net/bnx2x/bnx2x.c | 86 ++++++++------- drivers/net/bnx2x/bnx2x.h | 46 -------- drivers/net/cxgbe/base/adapter.h | 31 +----- drivers/net/gve/gve_ethdev.c | 46 +------- drivers/net/gve/gve_ethdev.h | 14 +-- drivers/net/hns3/hns3_ethdev_vf.c | 109 +++---------------- drivers/net/ngbe/base/ngbe_hw.c | 20 +--- drivers/net/ngbe/base/ngbe_osdep.h | 3 - drivers/net/virtio/virtio_pci.c | 131 ++++------------------- drivers/vdpa/ifc/base/ifcvf_osdep.h | 4 +- lib/pci/rte_pci.h | 93 +++++++++++++++-- 20 files changed, 396 insertions(+), 736 deletions(-) -- 2.41.0