get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/115856/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 115856,
    "url": "http://patches.dpdk.org/api/patches/115856/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220905083933.2506819-17-david.marchand@redhat.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20220905083933.2506819-17-david.marchand@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220905083933.2506819-17-david.marchand@redhat.com",
    "date": "2022-09-05T08:39:22",
    "name": "[v5,16/27] bus/pci: make driver-only headers private",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "9b30fde8b573387c1d50defb26b3be0e46ca3a95",
    "submitter": {
        "id": 1173,
        "url": "http://patches.dpdk.org/api/people/1173/?format=api",
        "name": "David Marchand",
        "email": "david.marchand@redhat.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20220905083933.2506819-17-david.marchand@redhat.com/mbox/",
    "series": [
        {
            "id": 24531,
            "url": "http://patches.dpdk.org/api/series/24531/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=24531",
            "date": "2022-09-05T08:39:07",
            "name": "[v5,01/27] devtools: forbid inclusions of driver only headers",
            "version": 5,
            "mbox": "http://patches.dpdk.org/series/24531/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/115856/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/115856/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 20F96A054A;\n\tMon,  5 Sep 2022 10:41:32 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A20DF427F1;\n\tMon,  5 Sep 2022 10:40:55 +0200 (CEST)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by mails.dpdk.org (Postfix) with ESMTP id AA2F540695\n for <dev@dpdk.org>; Mon,  5 Sep 2022 10:40:53 +0200 (CEST)",
            "from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com\n [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n us-mta-634-kxKwc6CnNFuwKmjAxwbzPA-1; Mon, 05 Sep 2022 04:40:49 -0400",
            "from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com\n [10.11.54.5])\n (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n (No client certificate requested)\n by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DD98C821BF3;\n Mon,  5 Sep 2022 08:40:47 +0000 (UTC)",
            "from fchome.redhat.com (unknown [10.40.193.251])\n by smtp.corp.redhat.com (Postfix) with ESMTP id 3DE4B9459C;\n Mon,  5 Sep 2022 08:40:34 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1662367253;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=YID6w4IE9JAG9rBYoAVlku7tC3Zlf5ZyrTffbO3p6T8=;\n b=PTgNlKiPChtwPGr48SLk7v0fA6nJcJXTcqZSEzEwfogcnduKL27hsNDlbM0QHomX/rEE5M\n doV7+PI8vrEPVEXExFhC8p8i3syCmWD+L+28rAwJGxjqkuvj3K8tzQf47WGa6VSWCcUkqd\n wwQ1jiiEsyg8KobLFTZ2iuhnrlSUEps=",
        "X-MC-Unique": "kxKwc6CnNFuwKmjAxwbzPA-1",
        "From": "David Marchand <david.marchand@redhat.com>",
        "To": "dev@dpdk.org",
        "Cc": "thomas@monjalon.net, bruce.richardson@intel.com,\n Ajit Khaparde <ajit.khaparde@broadcom.com>, Rosen Xu <rosen.xu@intel.com>,\n Nicolas Chautru <nicolas.chautru@intel.com>, Ray Kinsella <mdr@ashroe.eu>,\n Nithin Dabilpuram <ndabilpuram@marvell.com>,\n Kiran Kumar K <kirankumark@marvell.com>,\n Sunil Kumar Kori <skori@marvell.com>, Satha Rao <skoteshwar@marvell.com>,\n Matan Azrad <matan@nvidia.com>,\n Viacheslav Ovsiienko <viacheslavo@nvidia.com>,\n Fan Zhang <roy.fan.zhang@intel.com>,\n Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,\n Ashish Gupta <ashish.gupta@marvell.com>,\n Chandubabu Namburu <chandu@amd.com>, Ankur Dwivedi <adwivedi@marvell.com>,\n Anoob Joseph <anoobj@marvell.com>, Tejasree Kondoj <ktejasree@marvell.com>,\n Nagadheeraj Rottela <rnagadheeraj@marvell.com>,\n Srikanth Jampala <jsrikanth@marvell.com>,\n Jay Zhou <jianjay.zhou@huawei.com>,\n Radha Mohan Chintakuntla <radhac@marvell.com>,\n Veerasenareddy Burru <vburru@marvell.com>,\n Chengwen Feng <fengchengwen@huawei.com>,\n Kevin Laatz <kevin.laatz@intel.com>, Conor Walsh <conor.walsh@intel.com>,\n Timothy McDaniel <timothy.mcdaniel@intel.com>,\n Jerin Jacob <jerinj@marvell.com>,\n Pavan Nikhilesh <pbhagavatula@marvell.com>,\n Elena Agostini <eagostini@nvidia.com>,\n Ashwin Sekhar T K <asekhar@marvell.com>, Harman Kalra <hkalra@marvell.com>,\n Shepard Siegel <shepard.siegel@atomicrules.com>,\n Ed Czeck <ed.czeck@atomicrules.com>,\n John Miller <john.miller@atomicrules.com>,\n Steven Webster <steven.webster@windriver.com>,\n Matt Peters <matt.peters@windriver.com>, Rasesh Mody <rmody@marvell.com>,\n Shahed Shaikh <shshaikh@marvell.com>,\n Somnath Kotur <somnath.kotur@broadcom.com>, Chas Williams <chas3@att.com>,\n \"Min Hu (Connor)\" <humin29@huawei.com>,\n Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>,\n Simei Su <simei.su@intel.com>, Wenjun Wu <wenjun1.wu@intel.com>,\n Marcin Wojtas <mw@semihalf.com>, Michal Krawczyk <mk@semihalf.com>,\n Shai Brandes <shaibran@amazon.com>, Evgeny Schemeilin <evgenys@amazon.com>,\n Igor Chauskin <igorch@amazon.com>, John Daley <johndale@cisco.com>,\n Hyong Youb Kim <hyonkim@cisco.com>, Ziyang Xuan <xuanziyang2@huawei.com>,\n Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>,\n Guoyang Zhou <zhouguoyang@huawei.com>,\n Dongdong Liu <liudongdong3@huawei.com>,\n Yisen Zhuang <yisen.zhuang@huawei.com>,\n Yuying Zhang <Yuying.Zhang@intel.com>, Beilei Xing <beilei.xing@intel.com>,\n Junfeng Guo <junfeng.guo@intel.com>, Andrew Boyer <aboyer@pensando.io>,\n Qiming Yang <qiming.yang@intel.com>,\n Stephen Hemminger <sthemmin@microsoft.com>, Long Li <longli@microsoft.com>,\n Jiawen Wu <jiawenwu@trustnetic.com>,\n Devendra Singh Rawat <dsinghrawat@marvell.com>,\n Maciej Czekaj <mczekaj@marvell.com>, Jian Wang <jianwang@trustnetic.com>,\n Maxime Coquelin <maxime.coquelin@redhat.com>,\n Chenbo Xia <chenbo.xia@intel.com>, Jochen Behrens <jbehrens@vmware.com>,\n Jakub Palider <jpalider@marvell.com>,\n Tomasz Duszynski <tduszynski@marvell.com>,\n Tianfei zhang <tianfei.zhang@intel.com>,\n Jingjing Wu <jingjing.wu@intel.com>, Ori Kam <orika@nvidia.com>,\n Xiao Wang <xiao.w.wang@intel.com>,\n Vijay Kumar Srivastava <vsrivast@xilinx.com>,\n Ferruh Yigit <ferruh.yigit@xilinx.com>",
        "Subject": "[PATCH v5 16/27] bus/pci: make driver-only headers private",
        "Date": "Mon,  5 Sep 2022 10:39:22 +0200",
        "Message-Id": "<20220905083933.2506819-17-david.marchand@redhat.com>",
        "In-Reply-To": "<20220905083933.2506819-1-david.marchand@redhat.com>",
        "References": "<20220628144643.1213026-1-david.marchand@redhat.com>\n <20220905083933.2506819-1-david.marchand@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 2.79 on 10.11.54.5",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain; charset=\"US-ASCII\"; x-default=true",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "The pci bus interface is for drivers only.\nMark as internal and move the header in the driver headers list.\n\nWhile at it, cleanup the code:\n- fix indentation,\n- remove unneeded reference to bus specific singleton object,\n- remove unneeded list head structure type,\n- reorder the definitions and macro manipulating the bus singleton object,\n- remove inclusion of rte_bus.h and fix the code that relied on implicit\n  inclusion,\n\nSigned-off-by: David Marchand <david.marchand@redhat.com>\nAcked-by: Bruce Richardson <bruce.richardson@intel.com>\nAcked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\nAcked-by: Rosen Xu <rosen.xu@intel.com>\n---\nChanges since RFC v2:                                                           \n- squashed cleanup for this bus code from other patches,\n- updated release notes,\n\n---\n app/test/virtual_pmd.c                        |   2 +-\n doc/guides/rel_notes/release_22_11.rst        |   2 +-\n drivers/baseband/acc100/rte_acc100_pmd.c      |   2 +-\n .../fpga_5gnr_fec/rte_fpga_5gnr_fec.c         |   2 +-\n drivers/baseband/fpga_lte_fec/fpga_lte_fec.c  |   2 +-\n drivers/bus/pci/bsd/pci.c                     |   3 -\n drivers/bus/pci/bus_pci_driver.h              | 200 +++++++++++++++++\n drivers/bus/pci/linux/pci.c                   |   3 -\n drivers/bus/pci/meson.build                   |   1 +\n drivers/bus/pci/pci_common.c                  |   2 -\n drivers/bus/pci/private.h                     |  19 +-\n drivers/bus/pci/rte_bus_pci.h                 | 201 +-----------------\n drivers/bus/pci/version.map                   |  11 +-\n drivers/bus/pci/windows/pci.c                 |   1 +\n drivers/bus/pci/windows/pci_netuio.c          |   1 +\n drivers/common/cnxk/roc_platform.h            |   2 +-\n drivers/common/mlx5/linux/mlx5_common_os.c    |   2 +-\n drivers/common/mlx5/linux/mlx5_common_os.h    |   2 +-\n drivers/common/mlx5/mlx5_common.h             |   2 +-\n drivers/common/mlx5/mlx5_common_pci.c         |   3 +-\n drivers/common/mlx5/windows/mlx5_common_os.c  |   2 +-\n drivers/common/qat/qat_device.h               |   2 +-\n drivers/common/qat/qat_qp.c                   |   2 +-\n drivers/common/sfc_efx/sfc_efx.h              |   2 +-\n drivers/compress/mlx5/mlx5_compress.c         |   2 +-\n drivers/compress/octeontx/otx_zip.h           |   2 +-\n drivers/compress/qat/qat_comp.c               |   2 +-\n drivers/crypto/ccp/ccp_dev.h                  |   2 +-\n drivers/crypto/ccp/ccp_pci.h                  |   2 +-\n drivers/crypto/ccp/rte_ccp_pmd.c              |   2 +-\n drivers/crypto/cnxk/cn10k_cryptodev.c         |   2 +-\n drivers/crypto/cnxk/cn9k_cryptodev.c          |   2 +-\n drivers/crypto/mlx5/mlx5_crypto.c             |   2 +-\n drivers/crypto/nitrox/nitrox_device.h         |   2 +-\n drivers/crypto/octeontx/otx_cryptodev.c       |   2 +-\n drivers/crypto/octeontx/otx_cryptodev_ops.c   |   2 +-\n drivers/crypto/qat/qat_sym.c                  |   2 +-\n drivers/crypto/virtio/virtio_cryptodev.c      |   2 +-\n drivers/crypto/virtio/virtio_pci.c            |   1 -\n drivers/crypto/virtio/virtio_pci.h            |   2 +-\n drivers/dma/cnxk/cnxk_dmadev.c                |   3 +-\n drivers/dma/hisilicon/hisi_dmadev.c           |   2 +-\n drivers/dma/idxd/idxd_pci.c                   |   2 +-\n drivers/dma/ioat/ioat_dmadev.c                |   2 +-\n drivers/event/dlb2/pf/dlb2_main.h             |   2 +-\n drivers/event/dlb2/pf/dlb2_pf.c               |   2 +-\n drivers/event/octeontx/ssovf_probe.c          |   2 +-\n drivers/event/octeontx/timvf_probe.c          |   2 +-\n drivers/gpu/cuda/cuda.c                       |   2 +-\n drivers/mempool/cnxk/cnxk_mempool.c           |   2 +-\n drivers/mempool/octeontx/octeontx_fpavf.c     |   2 +-\n drivers/net/ark/ark_ethdev.c                  |   2 +-\n drivers/net/avp/avp_ethdev.c                  |   2 +-\n drivers/net/bnx2x/bnx2x.h                     |   2 +-\n drivers/net/bnxt/bnxt.h                       |   2 +-\n drivers/net/bonding/rte_eth_bond_args.c       |   3 +-\n drivers/net/cxgbe/base/adapter.h              |   2 +-\n drivers/net/cxgbe/cxgbe_ethdev.c              |   2 +-\n drivers/net/e1000/em_ethdev.c                 |   2 +-\n drivers/net/e1000/em_rxtx.c                   |   2 +-\n drivers/net/e1000/igb_ethdev.c                |   2 +-\n drivers/net/e1000/igb_pf.c                    |   2 +-\n drivers/net/ena/ena_ethdev.h                  |   2 +-\n drivers/net/enic/base/vnic_dev.h              |   2 +-\n drivers/net/enic/enic_ethdev.c                |   2 +-\n drivers/net/enic/enic_main.c                  |   2 +-\n drivers/net/enic/enic_vf_representor.c        |   2 +-\n drivers/net/hinic/base/hinic_pmd_hwdev.c      |   2 +-\n drivers/net/hinic/base/hinic_pmd_hwif.c       |   2 +-\n drivers/net/hinic/base/hinic_pmd_nicio.c      |   2 +-\n drivers/net/hinic/hinic_pmd_ethdev.c          |   2 +-\n drivers/net/hns3/hns3_common.c                |   2 +-\n drivers/net/hns3/hns3_ethdev.c                |   2 +-\n drivers/net/hns3/hns3_rxtx.c                  |   2 +-\n drivers/net/i40e/i40e_ethdev.c                |   2 +-\n drivers/net/i40e/i40e_vf_representor.c        |   2 +-\n drivers/net/igc/igc_ethdev.c                  |   2 +-\n drivers/net/ionic/ionic.h                     |   2 +-\n drivers/net/ionic/ionic_ethdev.c              |   2 +-\n drivers/net/ipn3ke/ipn3ke_ethdev.c            |   2 +-\n drivers/net/ipn3ke/ipn3ke_representor.c       |   2 +-\n drivers/net/ipn3ke/ipn3ke_tm.c                |   2 +-\n drivers/net/ixgbe/ixgbe_ethdev.c              |   2 +-\n drivers/net/ixgbe/ixgbe_ethdev.h              |   2 +-\n drivers/net/mlx4/mlx4_ethdev.c                |   2 +-\n drivers/net/mlx5/linux/mlx5_ethdev_os.c       |   2 +-\n drivers/net/mlx5/linux/mlx5_os.c              |   3 +-\n drivers/net/mlx5/mlx5.c                       |   2 +-\n drivers/net/mlx5/mlx5_ethdev.c                |   2 +-\n drivers/net/mlx5/mlx5_flow_dv.c               |   2 +-\n drivers/net/mlx5/mlx5_txq.c                   |   2 +-\n drivers/net/netvsc/hn_vf.c                    |   2 +-\n drivers/net/ngbe/base/ngbe_osdep.h            |   2 +-\n drivers/net/ngbe/ngbe_pf.c                    |   2 +-\n drivers/net/octeontx/base/octeontx_pkivf.c    |   2 +-\n drivers/net/octeontx/base/octeontx_pkovf.c    |   2 +-\n drivers/net/qede/base/bcm_osal.h              |   2 +-\n drivers/net/sfc/sfc.h                         |   2 +-\n drivers/net/sfc/sfc_ethdev.c                  |   2 +-\n drivers/net/sfc/sfc_sriov.c                   |   2 +-\n drivers/net/thunderx/nicvf_ethdev.c           |   2 +-\n drivers/net/txgbe/txgbe_ethdev.h              |   2 +-\n drivers/net/txgbe/txgbe_flow.c                |   2 +-\n drivers/net/txgbe/txgbe_pf.c                  |   2 +-\n drivers/net/virtio/virtio_pci.h               |   2 +-\n drivers/net/virtio/virtio_pci_ethdev.c        |   2 +-\n drivers/net/vmxnet3/vmxnet3_ethdev.c          |   2 +-\n drivers/raw/cnxk_bphy/cnxk_bphy.c             |   2 +-\n drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c         |   2 +-\n drivers/raw/cnxk_bphy/cnxk_bphy_irq.c         |   2 +-\n drivers/raw/ifpga/afu_pmd_he_hssi.c           |   2 +-\n drivers/raw/ifpga/afu_pmd_he_lpbk.c           |   2 +-\n drivers/raw/ifpga/afu_pmd_he_mem.c            |   2 +-\n drivers/raw/ifpga/afu_pmd_n3000.c             |   2 +-\n drivers/raw/ifpga/ifpga_rawdev.c              |   2 +-\n drivers/raw/ifpga/rte_pmd_ifpga.c             |   2 +-\n drivers/raw/ioat/idxd_pci.c                   |   2 +-\n drivers/raw/ioat/ioat_rawdev.c                |   2 +-\n drivers/raw/ntb/ntb.c                         |   2 +-\n drivers/raw/ntb/ntb_hw_intel.c                |   2 +-\n drivers/regex/mlx5/mlx5_regex.c               |   2 +-\n drivers/regex/mlx5/mlx5_regex_fastpath.c      |   2 +-\n drivers/vdpa/ifc/base/ifcvf_osdep.h           |   2 +-\n drivers/vdpa/ifc/ifcvf_vdpa.c                 |   2 +-\n drivers/vdpa/mlx5/mlx5_vdpa.c                 |   2 +-\n drivers/vdpa/sfc/sfc_vdpa.h                   |   2 +-\n lib/ethdev/ethdev_pci.h                       |   2 +-\n lib/eventdev/eventdev_pmd_pci.h               |   2 +-\n 128 files changed, 350 insertions(+), 331 deletions(-)\n create mode 100644 drivers/bus/pci/bus_pci_driver.h",
    "diff": "diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c\nindex cd4611ab48..2b55c85fd8 100644\n--- a/app/test/virtual_pmd.c\n+++ b/app/test/virtual_pmd.c\n@@ -6,7 +6,7 @@\n #include <rte_ethdev.h>\n #include <ethdev_driver.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_malloc.h>\n #include <rte_memcpy.h>\n #include <rte_memory.h>\ndiff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst\nindex 2f2bd2b086..8fa4cf468d 100644\n--- a/doc/guides/rel_notes/release_22_11.rst\n+++ b/doc/guides/rel_notes/release_22_11.rst\n@@ -88,7 +88,7 @@ API Changes\n   in the future. Applications can use ``devtools/cocci/func_or_ret.cocci``\n   to update their code.\n \n-* drivers: Registering a driver on the ``auxiliary``, ``ifpga``\n+* drivers: Registering a driver on the ``auxiliary``, ``ifpga``, ``pci``\n   buses has been marked as an internal API.\n   External users may still register their driver using the associated driver\n   headers (see ``enable_driver_sdk`` meson option).\ndiff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c\nindex a8482bd411..801e8920df 100644\n--- a/drivers/baseband/acc100/rte_acc100_pmd.c\n+++ b/drivers/baseband/acc100/rte_acc100_pmd.c\n@@ -14,7 +14,7 @@\n #include <rte_branch_prediction.h>\n #include <rte_hexdump.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #ifdef RTE_BBDEV_OFFLOAD_COST\n #include <rte_cycles.h>\n #endif\ndiff --git a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c\nindex 82ae6ba678..c1d877c87f 100644\n--- a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c\n+++ b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c\n@@ -11,7 +11,7 @@\n #include <rte_mempool.h>\n #include <rte_errno.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_byteorder.h>\n #ifdef RTE_BBDEV_OFFLOAD_COST\n #include <rte_cycles.h>\ndiff --git a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c\nindex 21d35292a3..f16814e241 100644\n--- a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c\n+++ b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c\n@@ -11,7 +11,7 @@\n #include <rte_mempool.h>\n #include <rte_errno.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_byteorder.h>\n #ifdef RTE_BBDEV_OFFLOAD_COST\n #include <rte_cycles.h>\ndiff --git a/drivers/bus/pci/bsd/pci.c b/drivers/bus/pci/bsd/pci.c\nindex 9a11f99ae3..bc560a2a56 100644\n--- a/drivers/bus/pci/bsd/pci.c\n+++ b/drivers/bus/pci/bsd/pci.c\n@@ -28,7 +28,6 @@\n #include <rte_interrupts.h>\n #include <rte_log.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n #include <rte_common.h>\n #include <rte_launch.h>\n #include <rte_memory.h>\n@@ -48,8 +47,6 @@\n  * PCI probing under BSD.\n  */\n \n-extern struct rte_pci_bus rte_pci_bus;\n-\n /* Map pci device */\n int\n rte_pci_map_device(struct rte_pci_device *dev)\ndiff --git a/drivers/bus/pci/bus_pci_driver.h b/drivers/bus/pci/bus_pci_driver.h\nnew file mode 100644\nindex 0000000000..b5c7dee617\n--- /dev/null\n+++ b/drivers/bus/pci/bus_pci_driver.h\n@@ -0,0 +1,200 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2010-2015 Intel Corporation.\n+ * Copyright 2013-2014 6WIND S.A.\n+ */\n+\n+#ifndef BUS_PCI_DRIVER_H\n+#define BUS_PCI_DRIVER_H\n+\n+#ifdef __cplusplus\n+extern \"C\" {\n+#endif\n+\n+#include <rte_bus_pci.h>\n+#include <rte_dev.h>\n+#include <rte_compat.h>\n+\n+/** Pathname of PCI devices directory. */\n+__rte_internal\n+const char *rte_pci_get_sysfs_path(void);\n+\n+enum rte_pci_kernel_driver {\n+\tRTE_PCI_KDRV_UNKNOWN = 0,  /* may be misc UIO or bifurcated driver */\n+\tRTE_PCI_KDRV_IGB_UIO,      /* igb_uio for Linux */\n+\tRTE_PCI_KDRV_VFIO,         /* VFIO for Linux */\n+\tRTE_PCI_KDRV_UIO_GENERIC,  /* uio_pci_generic for Linux */\n+\tRTE_PCI_KDRV_NIC_UIO,      /* nic_uio for FreeBSD */\n+\tRTE_PCI_KDRV_NONE,         /* no attached driver */\n+\tRTE_PCI_KDRV_NET_UIO,      /* NetUIO for Windows */\n+};\n+\n+/**\n+ * A structure describing a PCI device.\n+ */\n+struct rte_pci_device {\n+\tRTE_TAILQ_ENTRY(rte_pci_device) next;   /**< Next probed PCI device. */\n+\tstruct rte_device device;           /**< Inherit core device */\n+\tstruct rte_pci_addr addr;           /**< PCI location. */\n+\tstruct rte_pci_id id;               /**< PCI ID. */\n+\tstruct rte_mem_resource mem_resource[PCI_MAX_RESOURCE];\n+\t\t\t\t\t    /**< PCI Memory Resource */\n+\tstruct rte_intr_handle *intr_handle; /**< Interrupt handle */\n+\tstruct rte_pci_driver *driver;      /**< PCI driver used in probing */\n+\tuint16_t max_vfs;                   /**< sriov enable if not zero */\n+\tenum rte_pci_kernel_driver kdrv;    /**< Kernel driver passthrough */\n+\tchar name[PCI_PRI_STR_SIZE+1];      /**< PCI location (ASCII) */\n+\tstruct rte_intr_handle *vfio_req_intr_handle;\n+\t\t\t\t/**< Handler of VFIO request interrupt */\n+};\n+\n+/**\n+ * @internal\n+ * Helper macro for drivers that need to convert to struct rte_pci_device.\n+ */\n+#define RTE_DEV_TO_PCI(ptr) container_of(ptr, struct rte_pci_device, device)\n+\n+#define RTE_DEV_TO_PCI_CONST(ptr) \\\n+\tcontainer_of(ptr, const struct rte_pci_device, device)\n+\n+#define RTE_ETH_DEV_TO_PCI(eth_dev)\tRTE_DEV_TO_PCI((eth_dev)->device)\n+\n+#ifdef __cplusplus\n+/** C++ macro used to help building up tables of device IDs */\n+#define RTE_PCI_DEVICE(vend, dev) \\\n+\tRTE_CLASS_ANY_ID,         \\\n+\t(vend),                   \\\n+\t(dev),                    \\\n+\tRTE_PCI_ANY_ID,           \\\n+\tRTE_PCI_ANY_ID\n+#else\n+/** Macro used to help building up tables of device IDs */\n+#define RTE_PCI_DEVICE(vend, dev)          \\\n+\t.class_id = RTE_CLASS_ANY_ID,      \\\n+\t.vendor_id = (vend),               \\\n+\t.device_id = (dev),                \\\n+\t.subsystem_vendor_id = RTE_PCI_ANY_ID, \\\n+\t.subsystem_device_id = RTE_PCI_ANY_ID\n+#endif\n+\n+/**\n+ * Initialisation function for the driver called during PCI probing.\n+ */\n+typedef int (rte_pci_probe_t)(struct rte_pci_driver *, struct rte_pci_device *);\n+\n+/**\n+ * Uninitialisation function for the driver called during hotplugging.\n+ */\n+typedef int (rte_pci_remove_t)(struct rte_pci_device *);\n+\n+/**\n+ * Driver-specific DMA mapping. After a successful call the device\n+ * will be able to read/write from/to this segment.\n+ *\n+ * @param dev\n+ *   Pointer to the PCI device.\n+ * @param addr\n+ *   Starting virtual address of memory to be mapped.\n+ * @param iova\n+ *   Starting IOVA address of memory to be mapped.\n+ * @param len\n+ *   Length of memory segment being mapped.\n+ * @return\n+ *   - 0 On success.\n+ *   - Negative value and rte_errno is set otherwise.\n+ */\n+typedef int (pci_dma_map_t)(struct rte_pci_device *dev, void *addr,\n+\t\t\t    uint64_t iova, size_t len);\n+\n+/**\n+ * Driver-specific DMA un-mapping. After a successful call the device\n+ * will not be able to read/write from/to this segment.\n+ *\n+ * @param dev\n+ *   Pointer to the PCI device.\n+ * @param addr\n+ *   Starting virtual address of memory to be unmapped.\n+ * @param iova\n+ *   Starting IOVA address of memory to be unmapped.\n+ * @param len\n+ *   Length of memory segment being unmapped.\n+ * @return\n+ *   - 0 On success.\n+ *   - Negative value and rte_errno is set otherwise.\n+ */\n+typedef int (pci_dma_unmap_t)(struct rte_pci_device *dev, void *addr,\n+\t\t\t      uint64_t iova, size_t len);\n+\n+/**\n+ * A structure describing a PCI driver.\n+ */\n+struct rte_pci_driver {\n+\tRTE_TAILQ_ENTRY(rte_pci_driver) next;  /**< Next in list. */\n+\tstruct rte_driver driver;          /**< Inherit core driver. */\n+\trte_pci_probe_t *probe;            /**< Device probe function. */\n+\trte_pci_remove_t *remove;          /**< Device remove function. */\n+\tpci_dma_map_t *dma_map;\t\t   /**< device dma map function. */\n+\tpci_dma_unmap_t *dma_unmap;\t   /**< device dma unmap function. */\n+\tconst struct rte_pci_id *id_table; /**< ID table, NULL terminated. */\n+\tuint32_t drv_flags;                /**< Flags RTE_PCI_DRV_*. */\n+};\n+\n+/** Device needs PCI BAR mapping (done with either IGB_UIO or VFIO) */\n+#define RTE_PCI_DRV_NEED_MAPPING 0x0001\n+/** Device needs PCI BAR mapping with enabled write combining (wc) */\n+#define RTE_PCI_DRV_WC_ACTIVATE 0x0002\n+/** Device already probed can be probed again to check for new ports. */\n+#define RTE_PCI_DRV_PROBE_AGAIN 0x0004\n+/** Device driver supports link state interrupt */\n+#define RTE_PCI_DRV_INTR_LSC\t0x0008\n+/** Device driver supports device removal interrupt */\n+#define RTE_PCI_DRV_INTR_RMV 0x0010\n+/** Device driver needs to keep mapped resources if unsupported dev detected */\n+#define RTE_PCI_DRV_KEEP_MAPPED_RES 0x0020\n+/** Device driver needs IOVA as VA and cannot work with IOVA as PA */\n+#define RTE_PCI_DRV_NEED_IOVA_AS_VA 0x0040\n+\n+/**\n+ * Register a PCI driver.\n+ *\n+ * @param driver\n+ *   A pointer to a rte_pci_driver structure describing the driver\n+ *   to be registered.\n+ */\n+__rte_internal\n+void rte_pci_register(struct rte_pci_driver *driver);\n+\n+/** Helper for PCI device registration from driver (eth, crypto) instance */\n+#define RTE_PMD_REGISTER_PCI(nm, pci_drv) \\\n+RTE_INIT(pciinitfn_ ##nm) \\\n+{\\\n+\t(pci_drv).driver.name = RTE_STR(nm);\\\n+\trte_pci_register(&pci_drv); \\\n+} \\\n+RTE_PMD_EXPORT_NAME(nm, __COUNTER__)\n+\n+/**\n+ * Unregister a PCI driver.\n+ *\n+ * @param driver\n+ *   A pointer to a rte_pci_driver structure describing the driver\n+ *   to be unregistered.\n+ */\n+__rte_internal\n+void rte_pci_unregister(struct rte_pci_driver *driver);\n+\n+/*\n+ * A structure used to access io resources for a pci device.\n+ * rte_pci_ioport is arch, os, driver specific, and should not be used outside\n+ * of pci ioport api.\n+ */\n+struct rte_pci_ioport {\n+\tstruct rte_pci_device *dev;\n+\tuint64_t base;\n+\tuint64_t len; /* only filled for memory mapped ports */\n+};\n+\n+#ifdef __cplusplus\n+}\n+#endif\n+\n+#endif /* BUS_PCI_DRIVER_H */\ndiff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c\nindex e521459870..fa5d5e131d 100644\n--- a/drivers/bus/pci/linux/pci.c\n+++ b/drivers/bus/pci/linux/pci.c\n@@ -6,7 +6,6 @@\n #include <dirent.h>\n \n #include <rte_log.h>\n-#include <rte_bus.h>\n #include <rte_pci.h>\n #include <rte_bus_pci.h>\n #include <rte_malloc.h>\n@@ -24,8 +23,6 @@\n  * PCI probing using Linux sysfs.\n  */\n \n-extern struct rte_pci_bus rte_pci_bus;\n-\n static int\n pci_get_kernel_driver_by_path(const char *filename, char *dri_name,\n \t\t\t      size_t len)\ndiff --git a/drivers/bus/pci/meson.build b/drivers/bus/pci/meson.build\nindex 81c7e94c00..f50f039a68 100644\n--- a/drivers/bus/pci/meson.build\n+++ b/drivers/bus/pci/meson.build\n@@ -3,6 +3,7 @@\n \n deps += ['pci']\n headers = files('rte_bus_pci.h')\n+driver_sdk_headers = files('bus_pci_driver.h')\n sources = files('pci_common.c',\n     'pci_params.c')\n if is_linux\ndiff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c\nindex 37ab879779..0d61d49287 100644\n--- a/drivers/bus/pci/pci_common.c\n+++ b/drivers/bus/pci/pci_common.c\n@@ -443,7 +443,6 @@ void\n rte_pci_register(struct rte_pci_driver *driver)\n {\n \tTAILQ_INSERT_TAIL(&rte_pci_bus.driver_list, driver, next);\n-\tdriver->bus = &rte_pci_bus;\n }\n \n /* unregister a driver */\n@@ -451,7 +450,6 @@ void\n rte_pci_unregister(struct rte_pci_driver *driver)\n {\n \tTAILQ_REMOVE(&rte_pci_bus.driver_list, driver, next);\n-\tdriver->bus = NULL;\n }\n \n /* Add a device to PCI bus */\ndiff --git a/drivers/bus/pci/private.h b/drivers/bus/pci/private.h\nindex 0fbef8e1d8..4e40a2ed85 100644\n--- a/drivers/bus/pci/private.h\n+++ b/drivers/bus/pci/private.h\n@@ -8,12 +8,29 @@\n #include <stdbool.h>\n #include <stdio.h>\n \n-#include <rte_bus_pci.h>\n+#include <rte_bus.h>\n+#include <bus_pci_driver.h>\n #include <rte_os_shim.h>\n #include <rte_pci.h>\n \n+/**\n+ * Structure describing the PCI bus\n+ */\n+struct rte_pci_bus {\n+\tstruct rte_bus bus;               /**< Inherit the generic class */\n+\tRTE_TAILQ_HEAD(, rte_pci_device) device_list; /**< List of PCI devices */\n+\tRTE_TAILQ_HEAD(, rte_pci_driver) driver_list; /**< List of PCI drivers */\n+};\n+\n extern struct rte_pci_bus rte_pci_bus;\n \n+/* PCI Bus iterators */\n+#define FOREACH_DEVICE_ON_PCIBUS(p)\t\\\n+\tRTE_TAILQ_FOREACH(p, &(rte_pci_bus.device_list), next)\n+\n+#define FOREACH_DRIVER_ON_PCIBUS(p)\t\\\n+\tRTE_TAILQ_FOREACH(p, &(rte_pci_bus.driver_list), next)\n+\n struct rte_pci_driver;\n struct rte_pci_device;\n \ndiff --git a/drivers/bus/pci/rte_bus_pci.h b/drivers/bus/pci/rte_bus_pci.h\nindex 1c6a8fdd7b..60e50ca875 100644\n--- a/drivers/bus/pci/rte_bus_pci.h\n+++ b/drivers/bus/pci/rte_bus_pci.h\n@@ -24,176 +24,15 @@ extern \"C\" {\n \n #include <rte_debug.h>\n #include <rte_interrupts.h>\n-#include <rte_dev.h>\n-#include <rte_bus.h>\n #include <rte_pci.h>\n \n-/** Pathname of PCI devices directory. */\n-const char *rte_pci_get_sysfs_path(void);\n-\n /* Forward declarations */\n struct rte_pci_device;\n struct rte_pci_driver;\n-\n-/** List of PCI devices */\n-RTE_TAILQ_HEAD(rte_pci_device_list, rte_pci_device);\n-/** List of PCI drivers */\n-RTE_TAILQ_HEAD(rte_pci_driver_list, rte_pci_driver);\n-\n-/* PCI Bus iterators */\n-#define FOREACH_DEVICE_ON_PCIBUS(p)\t\\\n-\t\tRTE_TAILQ_FOREACH(p, &(rte_pci_bus.device_list), next)\n-\n-#define FOREACH_DRIVER_ON_PCIBUS(p)\t\\\n-\t\tRTE_TAILQ_FOREACH(p, &(rte_pci_bus.driver_list), next)\n+struct rte_pci_ioport;\n \n struct rte_devargs;\n \n-enum rte_pci_kernel_driver {\n-\tRTE_PCI_KDRV_UNKNOWN = 0,  /* may be misc UIO or bifurcated driver */\n-\tRTE_PCI_KDRV_IGB_UIO,      /* igb_uio for Linux */\n-\tRTE_PCI_KDRV_VFIO,         /* VFIO for Linux */\n-\tRTE_PCI_KDRV_UIO_GENERIC,  /* uio_pci_generic for Linux */\n-\tRTE_PCI_KDRV_NIC_UIO,      /* nic_uio for FreeBSD */\n-\tRTE_PCI_KDRV_NONE,         /* no attached driver */\n-\tRTE_PCI_KDRV_NET_UIO,      /* NetUIO for Windows */\n-};\n-\n-/**\n- * A structure describing a PCI device.\n- */\n-struct rte_pci_device {\n-\tRTE_TAILQ_ENTRY(rte_pci_device) next;   /**< Next probed PCI device. */\n-\tstruct rte_device device;           /**< Inherit core device */\n-\tstruct rte_pci_addr addr;           /**< PCI location. */\n-\tstruct rte_pci_id id;               /**< PCI ID. */\n-\tstruct rte_mem_resource mem_resource[PCI_MAX_RESOURCE];\n-\t\t\t\t\t    /**< PCI Memory Resource */\n-\tstruct rte_intr_handle *intr_handle; /**< Interrupt handle */\n-\tstruct rte_pci_driver *driver;      /**< PCI driver used in probing */\n-\tuint16_t max_vfs;                   /**< sriov enable if not zero */\n-\tenum rte_pci_kernel_driver kdrv;    /**< Kernel driver passthrough */\n-\tchar name[PCI_PRI_STR_SIZE+1];      /**< PCI location (ASCII) */\n-\tstruct rte_intr_handle *vfio_req_intr_handle;\n-\t\t\t\t/**< Handler of VFIO request interrupt */\n-};\n-\n-/**\n- * @internal\n- * Helper macro for drivers that need to convert to struct rte_pci_device.\n- */\n-#define RTE_DEV_TO_PCI(ptr) container_of(ptr, struct rte_pci_device, device)\n-\n-#define RTE_DEV_TO_PCI_CONST(ptr) \\\n-\tcontainer_of(ptr, const struct rte_pci_device, device)\n-\n-#define RTE_ETH_DEV_TO_PCI(eth_dev)\tRTE_DEV_TO_PCI((eth_dev)->device)\n-\n-#ifdef __cplusplus\n-/** C++ macro used to help building up tables of device IDs */\n-#define RTE_PCI_DEVICE(vend, dev) \\\n-\tRTE_CLASS_ANY_ID,         \\\n-\t(vend),                   \\\n-\t(dev),                    \\\n-\tRTE_PCI_ANY_ID,           \\\n-\tRTE_PCI_ANY_ID\n-#else\n-/** Macro used to help building up tables of device IDs */\n-#define RTE_PCI_DEVICE(vend, dev)          \\\n-\t.class_id = RTE_CLASS_ANY_ID,      \\\n-\t.vendor_id = (vend),               \\\n-\t.device_id = (dev),                \\\n-\t.subsystem_vendor_id = RTE_PCI_ANY_ID, \\\n-\t.subsystem_device_id = RTE_PCI_ANY_ID\n-#endif\n-\n-/**\n- * Initialisation function for the driver called during PCI probing.\n- */\n-typedef int (rte_pci_probe_t)(struct rte_pci_driver *, struct rte_pci_device *);\n-\n-/**\n- * Uninitialisation function for the driver called during hotplugging.\n- */\n-typedef int (rte_pci_remove_t)(struct rte_pci_device *);\n-\n-/**\n- * Driver-specific DMA mapping. After a successful call the device\n- * will be able to read/write from/to this segment.\n- *\n- * @param dev\n- *   Pointer to the PCI device.\n- * @param addr\n- *   Starting virtual address of memory to be mapped.\n- * @param iova\n- *   Starting IOVA address of memory to be mapped.\n- * @param len\n- *   Length of memory segment being mapped.\n- * @return\n- *   - 0 On success.\n- *   - Negative value and rte_errno is set otherwise.\n- */\n-typedef int (pci_dma_map_t)(struct rte_pci_device *dev, void *addr,\n-\t\t\t    uint64_t iova, size_t len);\n-\n-/**\n- * Driver-specific DMA un-mapping. After a successful call the device\n- * will not be able to read/write from/to this segment.\n- *\n- * @param dev\n- *   Pointer to the PCI device.\n- * @param addr\n- *   Starting virtual address of memory to be unmapped.\n- * @param iova\n- *   Starting IOVA address of memory to be unmapped.\n- * @param len\n- *   Length of memory segment being unmapped.\n- * @return\n- *   - 0 On success.\n- *   - Negative value and rte_errno is set otherwise.\n- */\n-typedef int (pci_dma_unmap_t)(struct rte_pci_device *dev, void *addr,\n-\t\t\t      uint64_t iova, size_t len);\n-\n-/**\n- * A structure describing a PCI driver.\n- */\n-struct rte_pci_driver {\n-\tRTE_TAILQ_ENTRY(rte_pci_driver) next;  /**< Next in list. */\n-\tstruct rte_driver driver;          /**< Inherit core driver. */\n-\tstruct rte_pci_bus *bus;           /**< PCI bus reference. */\n-\trte_pci_probe_t *probe;            /**< Device probe function. */\n-\trte_pci_remove_t *remove;          /**< Device remove function. */\n-\tpci_dma_map_t *dma_map;\t\t   /**< device dma map function. */\n-\tpci_dma_unmap_t *dma_unmap;\t   /**< device dma unmap function. */\n-\tconst struct rte_pci_id *id_table; /**< ID table, NULL terminated. */\n-\tuint32_t drv_flags;                /**< Flags RTE_PCI_DRV_*. */\n-};\n-\n-/**\n- * Structure describing the PCI bus\n- */\n-struct rte_pci_bus {\n-\tstruct rte_bus bus;               /**< Inherit the generic class */\n-\tstruct rte_pci_device_list device_list;  /**< List of PCI devices */\n-\tstruct rte_pci_driver_list driver_list;  /**< List of PCI drivers */\n-};\n-\n-/** Device needs PCI BAR mapping (done with either IGB_UIO or VFIO) */\n-#define RTE_PCI_DRV_NEED_MAPPING 0x0001\n-/** Device needs PCI BAR mapping with enabled write combining (wc) */\n-#define RTE_PCI_DRV_WC_ACTIVATE 0x0002\n-/** Device already probed can be probed again to check for new ports. */\n-#define RTE_PCI_DRV_PROBE_AGAIN 0x0004\n-/** Device driver supports link state interrupt */\n-#define RTE_PCI_DRV_INTR_LSC\t0x0008\n-/** Device driver supports device removal interrupt */\n-#define RTE_PCI_DRV_INTR_RMV 0x0010\n-/** Device driver needs to keep mapped resources if unsupported dev detected */\n-#define RTE_PCI_DRV_KEEP_MAPPED_RES 0x0020\n-/** Device driver needs IOVA as VA and cannot work with IOVA as PA */\n-#define RTE_PCI_DRV_NEED_IOVA_AS_VA 0x0040\n-\n /**\n  * Map the PCI device resources in user space virtual memory address\n  *\n@@ -261,33 +100,6 @@ off_t rte_pci_find_ext_capability(struct rte_pci_device *dev, uint32_t cap);\n __rte_experimental\n int rte_pci_set_bus_master(struct rte_pci_device *dev, bool enable);\n \n-/**\n- * Register a PCI driver.\n- *\n- * @param driver\n- *   A pointer to a rte_pci_driver structure describing the driver\n- *   to be registered.\n- */\n-void rte_pci_register(struct rte_pci_driver *driver);\n-\n-/** Helper for PCI device registration from driver (eth, crypto) instance */\n-#define RTE_PMD_REGISTER_PCI(nm, pci_drv) \\\n-RTE_INIT(pciinitfn_ ##nm) \\\n-{\\\n-\t(pci_drv).driver.name = RTE_STR(nm);\\\n-\trte_pci_register(&pci_drv); \\\n-} \\\n-RTE_PMD_EXPORT_NAME(nm, __COUNTER__)\n-\n-/**\n- * Unregister a PCI driver.\n- *\n- * @param driver\n- *   A pointer to a rte_pci_driver structure describing the driver\n- *   to be unregistered.\n- */\n-void rte_pci_unregister(struct rte_pci_driver *driver);\n-\n /**\n  * Read PCI config space.\n  *\n@@ -322,17 +134,6 @@ int rte_pci_read_config(const struct rte_pci_device *device,\n int rte_pci_write_config(const struct rte_pci_device *device,\n \t\tconst void *buf, size_t len, off_t offset);\n \n-/**\n- * A structure used to access io resources for a pci device.\n- * rte_pci_ioport is arch, os, driver specific, and should not be used outside\n- * of pci ioport api.\n- */\n-struct rte_pci_ioport {\n-\tstruct rte_pci_device *dev;\n-\tuint64_t base;\n-\tuint64_t len; /* only filled for memory mapped ports */\n-};\n-\n /**\n  * Initialize a rte_pci_ioport object for a pci device io resource.\n  *\ndiff --git a/drivers/bus/pci/version.map b/drivers/bus/pci/version.map\nindex 3d5c2f3068..161ab86d3b 100644\n--- a/drivers/bus/pci/version.map\n+++ b/drivers/bus/pci/version.map\n@@ -2,16 +2,13 @@ DPDK_23 {\n \tglobal:\n \n \trte_pci_dump;\n-\trte_pci_get_sysfs_path;\n \trte_pci_ioport_map;\n \trte_pci_ioport_read;\n \trte_pci_ioport_unmap;\n \trte_pci_ioport_write;\n \trte_pci_map_device;\n \trte_pci_read_config;\n-\trte_pci_register;\n \trte_pci_unmap_device;\n-\trte_pci_unregister;\n \trte_pci_write_config;\n \n \tlocal: *;\n@@ -25,3 +22,11 @@ EXPERIMENTAL {\n \t# added in 21.08\n \trte_pci_set_bus_master;\n };\n+\n+INTERNAL {\n+\tglobal:\n+\n+\trte_pci_get_sysfs_path;\n+\trte_pci_register;\n+\trte_pci_unregister;\n+};\ndiff --git a/drivers/bus/pci/windows/pci.c b/drivers/bus/pci/windows/pci.c\nindex 7bf091158b..f013b743b3 100644\n--- a/drivers/bus/pci/windows/pci.c\n+++ b/drivers/bus/pci/windows/pci.c\n@@ -9,6 +9,7 @@\n #include <rte_log.h>\n #include <rte_eal.h>\n #include <rte_memory.h>\n+#include <rte_bus_pci.h>\n \n #include \"private.h\"\n #include \"pci_netuio.h\"\ndiff --git a/drivers/bus/pci/windows/pci_netuio.c b/drivers/bus/pci/windows/pci_netuio.c\nindex 5460399eea..314bbcf547 100644\n--- a/drivers/bus/pci/windows/pci_netuio.c\n+++ b/drivers/bus/pci/windows/pci_netuio.c\n@@ -8,6 +8,7 @@\n #include <rte_errno.h>\n #include <rte_log.h>\n #include <rte_eal.h>\n+#include <rte_bus_pci.h>\n \n #ifdef __MINGW32__\n #include <ddk/ndisguid.h>\ndiff --git a/drivers/common/cnxk/roc_platform.h b/drivers/common/cnxk/roc_platform.h\nindex 502f243a81..a7cbe444ae 100644\n--- a/drivers/common/cnxk/roc_platform.h\n+++ b/drivers/common/cnxk/roc_platform.h\n@@ -7,7 +7,7 @@\n \n #include <rte_alarm.h>\n #include <rte_bitmap.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_byteorder.h>\n #include <rte_common.h>\n #include <rte_cycles.h>\ndiff --git a/drivers/common/mlx5/linux/mlx5_common_os.c b/drivers/common/mlx5/linux/mlx5_common_os.c\nindex b42102e84c..aafff60eeb 100644\n--- a/drivers/common/mlx5/linux/mlx5_common_os.c\n+++ b/drivers/common/mlx5/linux/mlx5_common_os.c\n@@ -15,7 +15,7 @@\n \n #include <rte_errno.h>\n #include <rte_string_fns.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <bus_auxiliary_driver.h>\n \n #include \"mlx5_common.h\"\ndiff --git a/drivers/common/mlx5/linux/mlx5_common_os.h b/drivers/common/mlx5/linux/mlx5_common_os.h\nindex 479bb3c7cb..81702b8768 100644\n--- a/drivers/common/mlx5/linux/mlx5_common_os.h\n+++ b/drivers/common/mlx5/linux/mlx5_common_os.h\n@@ -9,7 +9,7 @@\n #include <malloc.h>\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_debug.h>\n #include <rte_atomic.h>\n #include <rte_log.h>\ndiff --git a/drivers/common/mlx5/mlx5_common.h b/drivers/common/mlx5/mlx5_common.h\nindex 63f31437da..629a639a81 100644\n--- a/drivers/common/mlx5/mlx5_common.h\n+++ b/drivers/common/mlx5/mlx5_common.h\n@@ -8,7 +8,7 @@\n #include <stdio.h>\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_debug.h>\n #include <rte_atomic.h>\n #include <rte_rwlock.h>\ndiff --git a/drivers/common/mlx5/mlx5_common_pci.c b/drivers/common/mlx5/mlx5_common_pci.c\nindex 66626953f1..e82cb881bf 100644\n--- a/drivers/common/mlx5/mlx5_common_pci.c\n+++ b/drivers/common/mlx5/mlx5_common_pci.c\n@@ -9,7 +9,8 @@\n #include <rte_errno.h>\n #include <rte_class.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <rte_bus.h>\n+#include <bus_pci_driver.h>\n \n #include \"mlx5_common_log.h\"\n #include \"mlx5_common_private.h\"\ndiff --git a/drivers/common/mlx5/windows/mlx5_common_os.c b/drivers/common/mlx5/windows/mlx5_common_os.c\nindex f2fc7cd494..2b6058eb3e 100644\n--- a/drivers/common/mlx5/windows/mlx5_common_os.c\n+++ b/drivers/common/mlx5/windows/mlx5_common_os.c\n@@ -7,7 +7,7 @@\n #include <stdio.h>\n \n #include <rte_mempool.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_malloc.h>\n #include <rte_errno.h>\n \ndiff --git a/drivers/common/qat/qat_device.h b/drivers/common/qat/qat_device.h\nindex e1a32a7e87..d1512f3b89 100644\n--- a/drivers/common/qat/qat_device.h\n+++ b/drivers/common/qat/qat_device.h\n@@ -4,7 +4,7 @@\n #ifndef _QAT_DEVICE_H_\n #define _QAT_DEVICE_H_\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"qat_common.h\"\n #include \"qat_logs.h\"\ndiff --git a/drivers/common/qat/qat_qp.c b/drivers/common/qat/qat_qp.c\nindex 8674eccdca..5916e745e2 100644\n--- a/drivers/common/qat/qat_qp.c\n+++ b/drivers/common/qat/qat_qp.c\n@@ -8,7 +8,7 @@\n #include <rte_malloc.h>\n #include <rte_memzone.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_atomic.h>\n #include <rte_prefetch.h>\n \ndiff --git a/drivers/common/sfc_efx/sfc_efx.h b/drivers/common/sfc_efx/sfc_efx.h\nindex c16eca60f3..d3ea586cb8 100644\n--- a/drivers/common/sfc_efx/sfc_efx.h\n+++ b/drivers/common/sfc_efx/sfc_efx.h\n@@ -10,7 +10,7 @@\n #ifndef _SFC_EFX_H_\n #define _SFC_EFX_H_\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"efx.h\"\n #include \"efsys.h\"\ndiff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c\nindex d64a628c74..3d2c45fcee 100644\n--- a/drivers/compress/mlx5/mlx5_compress.c\n+++ b/drivers/compress/mlx5/mlx5_compress.c\n@@ -5,7 +5,7 @@\n #include <rte_malloc.h>\n #include <rte_log.h>\n #include <rte_errno.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_spinlock.h>\n #include <rte_comp.h>\n #include <rte_compressdev.h>\ndiff --git a/drivers/compress/octeontx/otx_zip.h b/drivers/compress/octeontx/otx_zip.h\nindex 46c80c8dc2..cdef8cc6cb 100644\n--- a/drivers/compress/octeontx/otx_zip.h\n+++ b/drivers/compress/octeontx/otx_zip.h\n@@ -7,7 +7,7 @@\n \n #include <unistd.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_comp.h>\n #include <rte_compressdev.h>\n #include <rte_compressdev_pmd.h>\ndiff --git a/drivers/compress/qat/qat_comp.c b/drivers/compress/qat/qat_comp.c\nindex e8f57c3cc4..fe4a4999c6 100644\n--- a/drivers/compress/qat/qat_comp.c\n+++ b/drivers/compress/qat/qat_comp.c\n@@ -6,7 +6,7 @@\n #include <rte_mbuf.h>\n #include <rte_hexdump.h>\n #include <rte_comp.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_byteorder.h>\n #include <rte_memcpy.h>\n #include <rte_common.h>\ndiff --git a/drivers/crypto/ccp/ccp_dev.h b/drivers/crypto/ccp/ccp_dev.h\nindex 2a205cd446..9deaae7980 100644\n--- a/drivers/crypto/ccp/ccp_dev.h\n+++ b/drivers/crypto/ccp/ccp_dev.h\n@@ -10,7 +10,7 @@\n #include <stdint.h>\n #include <string.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_atomic.h>\n #include <rte_byteorder.h>\n #include <rte_io.h>\ndiff --git a/drivers/crypto/ccp/ccp_pci.h b/drivers/crypto/ccp/ccp_pci.h\nindex 7ed3bac406..6736bf8ad3 100644\n--- a/drivers/crypto/ccp/ccp_pci.h\n+++ b/drivers/crypto/ccp/ccp_pci.h\n@@ -7,7 +7,7 @@\n \n #include <stdint.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #define SYSFS_PCI_DEVICES \"/sys/bus/pci/devices\"\n #define PROC_MODULES \"/proc/modules\"\ndiff --git a/drivers/crypto/ccp/rte_ccp_pmd.c b/drivers/crypto/ccp/rte_ccp_pmd.c\nindex a35a8cd775..4957f11e97 100644\n--- a/drivers/crypto/ccp/rte_ccp_pmd.c\n+++ b/drivers/crypto/ccp/rte_ccp_pmd.c\n@@ -3,7 +3,7 @@\n  */\n \n #include <rte_string_fns.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_bus_vdev.h>\n #include <rte_common.h>\n #include <rte_cryptodev.h>\ndiff --git a/drivers/crypto/cnxk/cn10k_cryptodev.c b/drivers/crypto/cnxk/cn10k_cryptodev.c\nindex 1e0a7b91c9..3fd9f3c426 100644\n--- a/drivers/crypto/cnxk/cn10k_cryptodev.c\n+++ b/drivers/crypto/cnxk/cn10k_cryptodev.c\n@@ -2,7 +2,7 @@\n  * Copyright(C) 2021 Marvell.\n  */\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <rte_crypto.h>\n #include <rte_cryptodev.h>\ndiff --git a/drivers/crypto/cnxk/cn9k_cryptodev.c b/drivers/crypto/cnxk/cn9k_cryptodev.c\nindex 54cd77e575..bd425f95ff 100644\n--- a/drivers/crypto/cnxk/cn9k_cryptodev.c\n+++ b/drivers/crypto/cnxk/cn9k_cryptodev.c\n@@ -2,7 +2,7 @@\n  * Copyright(C) 2021 Marvell.\n  */\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <rte_crypto.h>\n #include <rte_cryptodev.h>\ndiff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c\nindex eb7616257e..dc8e291f50 100644\n--- a/drivers/crypto/mlx5/mlx5_crypto.c\n+++ b/drivers/crypto/mlx5/mlx5_crypto.c\n@@ -7,7 +7,7 @@\n #include <rte_eal_paging.h>\n #include <rte_errno.h>\n #include <rte_log.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_memory.h>\n \n #include <mlx5_glue.h>\ndiff --git a/drivers/crypto/nitrox/nitrox_device.h b/drivers/crypto/nitrox/nitrox_device.h\nindex 6b8095f42b..1ff7c59b63 100644\n--- a/drivers/crypto/nitrox/nitrox_device.h\n+++ b/drivers/crypto/nitrox/nitrox_device.h\n@@ -5,7 +5,7 @@\n #ifndef _NITROX_DEVICE_H_\n #define _NITROX_DEVICE_H_\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_cryptodev.h>\n \n struct nitrox_sym_device;\ndiff --git a/drivers/crypto/octeontx/otx_cryptodev.c b/drivers/crypto/octeontx/otx_cryptodev.c\nindex 337d06aab8..b5ab937c3a 100644\n--- a/drivers/crypto/octeontx/otx_cryptodev.c\n+++ b/drivers/crypto/octeontx/otx_cryptodev.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2018 Cavium, Inc\n  */\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <cryptodev_pmd.h>\n #include <rte_log.h>\ndiff --git a/drivers/crypto/octeontx/otx_cryptodev_ops.c b/drivers/crypto/octeontx/otx_cryptodev_ops.c\nindex 7aee67ab09..11840f5ecf 100644\n--- a/drivers/crypto/octeontx/otx_cryptodev_ops.c\n+++ b/drivers/crypto/octeontx/otx_cryptodev_ops.c\n@@ -3,7 +3,7 @@\n  */\n \n #include <rte_alarm.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_cryptodev.h>\n #include <cryptodev_pmd.h>\n #include <rte_eventdev.h>\ndiff --git a/drivers/crypto/qat/qat_sym.c b/drivers/crypto/qat/qat_sym.c\nindex db6316fbe9..f3a99ae15c 100644\n--- a/drivers/crypto/qat/qat_sym.c\n+++ b/drivers/crypto/qat/qat_sym.c\n@@ -7,7 +7,7 @@\n #include <rte_mempool.h>\n #include <rte_mbuf.h>\n #include <rte_crypto_sym.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_byteorder.h>\n \n #include \"qat_sym.h\"\ndiff --git a/drivers/crypto/virtio/virtio_cryptodev.c b/drivers/crypto/virtio/virtio_cryptodev.c\nindex ed64866758..21bd996064 100644\n--- a/drivers/crypto/virtio/virtio_cryptodev.c\n+++ b/drivers/crypto/virtio/virtio_cryptodev.c\n@@ -7,7 +7,7 @@\n #include <rte_common.h>\n #include <rte_errno.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_cryptodev.h>\n #include <cryptodev_pmd.h>\n #include <rte_eal.h>\ndiff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c\nindex ae069794a6..95a43c8801 100644\n--- a/drivers/crypto/virtio/virtio_pci.c\n+++ b/drivers/crypto/virtio/virtio_pci.c\n@@ -10,7 +10,6 @@\n #endif\n \n #include <rte_io.h>\n-#include <rte_bus.h>\n \n #include \"virtio_pci.h\"\n #include \"virtqueue.h\"\ndiff --git a/drivers/crypto/virtio/virtio_pci.h b/drivers/crypto/virtio/virtio_pci.h\nindex 0a7ea1bb64..41949c3d13 100644\n--- a/drivers/crypto/virtio/virtio_pci.h\n+++ b/drivers/crypto/virtio/virtio_pci.h\n@@ -9,7 +9,7 @@\n \n #include <rte_eal_paging.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_cryptodev.h>\n \n #include \"virtio_crypto.h\"\ndiff --git a/drivers/dma/cnxk/cnxk_dmadev.c b/drivers/dma/cnxk/cnxk_dmadev.c\nindex 2824c1b44f..9f0de60861 100644\n--- a/drivers/dma/cnxk/cnxk_dmadev.c\n+++ b/drivers/dma/cnxk/cnxk_dmadev.c\n@@ -5,8 +5,7 @@\n #include <string.h>\n #include <unistd.h>\n \n-#include <rte_bus.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <rte_eal.h>\n #include <rte_lcore.h>\ndiff --git a/drivers/dma/hisilicon/hisi_dmadev.c b/drivers/dma/hisilicon/hisi_dmadev.c\nindex 9494b60779..0e11ca14cc 100644\n--- a/drivers/dma/hisilicon/hisi_dmadev.c\n+++ b/drivers/dma/hisilicon/hisi_dmadev.c\n@@ -5,7 +5,7 @@\n #include <inttypes.h>\n #include <string.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_cycles.h>\n #include <rte_eal.h>\n #include <rte_io.h>\ndiff --git a/drivers/dma/idxd/idxd_pci.c b/drivers/dma/idxd/idxd_pci.c\nindex 2f8ec06d9e..781fa02db3 100644\n--- a/drivers/dma/idxd/idxd_pci.c\n+++ b/drivers/dma/idxd/idxd_pci.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2021 Intel Corporation\n  */\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_devargs.h>\n #include <rte_dmadev_pmd.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/dma/ioat/ioat_dmadev.c b/drivers/dma/ioat/ioat_dmadev.c\nindex a230496b11..5906eb45aa 100644\n--- a/drivers/dma/ioat/ioat_dmadev.c\n+++ b/drivers/dma/ioat/ioat_dmadev.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2021 Intel Corporation\n  */\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_dmadev_pmd.h>\n #include <rte_malloc.h>\n #include <rte_prefetch.h>\ndiff --git a/drivers/event/dlb2/pf/dlb2_main.h b/drivers/event/dlb2/pf/dlb2_main.h\nindex 9eeda482a3..5aa51b1616 100644\n--- a/drivers/event/dlb2/pf/dlb2_main.h\n+++ b/drivers/event/dlb2/pf/dlb2_main.h\n@@ -9,7 +9,7 @@\n #include <rte_log.h>\n #include <rte_spinlock.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_eal_paging.h>\n \n #include \"base/dlb2_hw_types.h\"\ndiff --git a/drivers/event/dlb2/pf/dlb2_pf.c b/drivers/event/dlb2/pf/dlb2_pf.c\nindex dd3f2b8ece..9f8c6cd8b8 100644\n--- a/drivers/event/dlb2/pf/dlb2_pf.c\n+++ b/drivers/event/dlb2/pf/dlb2_pf.c\n@@ -25,7 +25,7 @@\n #include <rte_cycles.h>\n #include <rte_io.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_eventdev.h>\n #include <eventdev_pmd.h>\n #include <eventdev_pmd_pci.h>\ndiff --git a/drivers/event/octeontx/ssovf_probe.c b/drivers/event/octeontx/ssovf_probe.c\nindex 4da7d1ae45..2c9601a8ff 100644\n--- a/drivers/event/octeontx/ssovf_probe.c\n+++ b/drivers/event/octeontx/ssovf_probe.c\n@@ -7,7 +7,7 @@\n #include <rte_eal.h>\n #include <rte_io.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"octeontx_mbox.h\"\n #include \"ssovf_evdev.h\"\ndiff --git a/drivers/event/octeontx/timvf_probe.c b/drivers/event/octeontx/timvf_probe.c\nindex 59bba31e8e..7ce3eddd7e 100644\n--- a/drivers/event/octeontx/timvf_probe.c\n+++ b/drivers/event/octeontx/timvf_probe.c\n@@ -5,7 +5,7 @@\n #include <rte_eal.h>\n #include <rte_io.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include <octeontx_mbox.h>\n \ndiff --git a/drivers/gpu/cuda/cuda.c b/drivers/gpu/cuda/cuda.c\nindex 664605d9fb..2be7b8d2df 100644\n--- a/drivers/gpu/cuda/cuda.c\n+++ b/drivers/gpu/cuda/cuda.c\n@@ -6,7 +6,7 @@\n \n #include <rte_malloc.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_byteorder.h>\n #include <rte_dev.h>\n \ndiff --git a/drivers/mempool/cnxk/cnxk_mempool.c b/drivers/mempool/cnxk/cnxk_mempool.c\nindex 54a1a7d3ae..78caf987d0 100644\n--- a/drivers/mempool/cnxk/cnxk_mempool.c\n+++ b/drivers/mempool/cnxk/cnxk_mempool.c\n@@ -3,7 +3,7 @@\n  */\n \n #include <rte_atomic.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <rte_devargs.h>\n #include <rte_eal.h>\ndiff --git a/drivers/mempool/octeontx/octeontx_fpavf.c b/drivers/mempool/octeontx/octeontx_fpavf.c\nindex 8fd9edced2..1513c632c6 100644\n--- a/drivers/mempool/octeontx/octeontx_fpavf.c\n+++ b/drivers/mempool/octeontx/octeontx_fpavf.c\n@@ -13,7 +13,7 @@\n \n #include <rte_atomic.h>\n #include <rte_eal.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_errno.h>\n #include <rte_memory.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c\nindex e8e4092be6..c654a229f7 100644\n--- a/drivers/net/ark/ark_ethdev.c\n+++ b/drivers/net/ark/ark_ethdev.c\n@@ -6,7 +6,7 @@\n #include <sys/stat.h>\n #include <dlfcn.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <ethdev_pci.h>\n #include <rte_kvargs.h>\n \ndiff --git a/drivers/net/avp/avp_ethdev.c b/drivers/net/avp/avp_ethdev.c\nindex 7ac55584ff..7c0cb666fb 100644\n--- a/drivers/net/avp/avp_ethdev.c\n+++ b/drivers/net/avp/avp_ethdev.c\n@@ -16,7 +16,7 @@\n #include <rte_atomic.h>\n #include <rte_branch_prediction.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ether.h>\n #include <rte_common.h>\n #include <rte_cycles.h>\ndiff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h\nindex d7e1729e68..89414ac88a 100644\n--- a/drivers/net/bnx2x/bnx2x.h\n+++ b/drivers/net/bnx2x/bnx2x.h\n@@ -16,7 +16,7 @@\n \n #include <rte_byteorder.h>\n #include <rte_spinlock.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_io.h>\n \n #include \"bnx2x_osal.h\"\ndiff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h\nindex e86e51e1fa..c9aa45ed3b 100644\n--- a/drivers/net/bnxt/bnxt.h\n+++ b/drivers/net/bnxt/bnxt.h\n@@ -11,7 +11,7 @@\n #include <sys/queue.h>\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <ethdev_driver.h>\n #include <rte_memory.h>\n #include <rte_lcore.h>\ndiff --git a/drivers/net/bonding/rte_eth_bond_args.c b/drivers/net/bonding/rte_eth_bond_args.c\nindex 5406e1c934..1a86eb3c00 100644\n--- a/drivers/net/bonding/rte_eth_bond_args.c\n+++ b/drivers/net/bonding/rte_eth_bond_args.c\n@@ -4,7 +4,8 @@\n \n #include <rte_devargs.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <rte_bus.h>\n+#include <bus_pci_driver.h>\n #include <rte_kvargs.h>\n \n #include \"rte_eth_bond.h\"\ndiff --git a/drivers/net/cxgbe/base/adapter.h b/drivers/net/cxgbe/base/adapter.h\nindex 1c016a7115..16cbc1a345 100644\n--- a/drivers/net/cxgbe/base/adapter.h\n+++ b/drivers/net/cxgbe/base/adapter.h\n@@ -8,7 +8,7 @@\n #ifndef __T4_ADAPTER_H__\n #define __T4_ADAPTER_H__\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_mbuf.h>\n #include <rte_io.h>\n #include <rte_rwlock.h>\ndiff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c\nindex cf9a2fdc19..fd71a50a58 100644\n--- a/drivers/net/cxgbe/cxgbe_ethdev.c\n+++ b/drivers/net/cxgbe/cxgbe_ethdev.c\n@@ -20,7 +20,7 @@\n #include <rte_log.h>\n #include <rte_debug.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_branch_prediction.h>\n #include <rte_memory.h>\n #include <rte_tailq.h>\ndiff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c\nindex 794496abfc..409de50083 100644\n--- a/drivers/net/e1000/em_ethdev.c\n+++ b/drivers/net/e1000/em_ethdev.c\n@@ -13,7 +13,7 @@\n #include <rte_byteorder.h>\n #include <rte_debug.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ether.h>\n #include <ethdev_driver.h>\n #include <ethdev_pci.h>\ndiff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c\nindex cea5b490ba..d48fd52404 100644\n--- a/drivers/net/e1000/em_rxtx.c\n+++ b/drivers/net/e1000/em_rxtx.c\n@@ -18,7 +18,7 @@\n #include <rte_log.h>\n #include <rte_debug.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_memory.h>\n #include <rte_memcpy.h>\n #include <rte_memzone.h>\ndiff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c\nindex a9c18b27e8..43979992d3 100644\n--- a/drivers/net/e1000/igb_ethdev.c\n+++ b/drivers/net/e1000/igb_ethdev.c\n@@ -15,7 +15,7 @@\n #include <rte_log.h>\n #include <rte_debug.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ether.h>\n #include <ethdev_driver.h>\n #include <ethdev_pci.h>\ndiff --git a/drivers/net/e1000/igb_pf.c b/drivers/net/e1000/igb_pf.c\nindex 3f3fd0d61e..c7588ea57e 100644\n--- a/drivers/net/e1000/igb_pf.c\n+++ b/drivers/net/e1000/igb_pf.c\n@@ -10,7 +10,7 @@\n #include <stdarg.h>\n #include <inttypes.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_interrupts.h>\n #include <rte_log.h>\n #include <rte_debug.h>\ndiff --git a/drivers/net/ena/ena_ethdev.h b/drivers/net/ena/ena_ethdev.h\nindex 0db0918b43..4709675af8 100644\n--- a/drivers/net/ena/ena_ethdev.h\n+++ b/drivers/net/ena/ena_ethdev.h\n@@ -12,7 +12,7 @@\n #include <ethdev_pci.h>\n #include <rte_cycles.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_timer.h>\n #include <rte_dev.h>\n #include <rte_net.h>\ndiff --git a/drivers/net/enic/base/vnic_dev.h b/drivers/net/enic/base/vnic_dev.h\nindex 4b9f75b65f..44ca5c739f 100644\n--- a/drivers/net/enic/base/vnic_dev.h\n+++ b/drivers/net/enic/base/vnic_dev.h\n@@ -9,7 +9,7 @@\n #include <stdbool.h>\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"enic_compat.h\"\n #include \"vnic_resource.h\"\ndiff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c\nindex a8d470e8ac..998436e5e8 100644\n--- a/drivers/net/enic/enic_ethdev.c\n+++ b/drivers/net/enic/enic_ethdev.c\n@@ -8,7 +8,7 @@\n \n #include <rte_dev.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <ethdev_driver.h>\n #include <ethdev_pci.h>\n #include <rte_geneve.h>\ndiff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c\nindex 9f351de72e..19a99a82c5 100644\n--- a/drivers/net/enic/enic_main.c\n+++ b/drivers/net/enic/enic_main.c\n@@ -10,7 +10,7 @@\n #include <fcntl.h>\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_memzone.h>\n #include <rte_malloc.h>\n #include <rte_mbuf.h>\ndiff --git a/drivers/net/enic/enic_vf_representor.c b/drivers/net/enic/enic_vf_representor.c\nindex 1ad6ad3dfb..7312c411bd 100644\n--- a/drivers/net/enic/enic_vf_representor.c\n+++ b/drivers/net/enic/enic_vf_representor.c\n@@ -5,7 +5,7 @@\n #include <stdint.h>\n #include <stdio.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <rte_dev.h>\n #include <ethdev_driver.h>\ndiff --git a/drivers/net/hinic/base/hinic_pmd_hwdev.c b/drivers/net/hinic/base/hinic_pmd_hwdev.c\nindex 5eb022297e..818698dcb3 100644\n--- a/drivers/net/hinic/base/hinic_pmd_hwdev.c\n+++ b/drivers/net/hinic/base/hinic_pmd_hwdev.c\n@@ -3,7 +3,7 @@\n  */\n \n #include<ethdev_driver.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_hash.h>\n #include <rte_jhash.h>\n \ndiff --git a/drivers/net/hinic/base/hinic_pmd_hwif.c b/drivers/net/hinic/base/hinic_pmd_hwif.c\nindex 26fa1e27d4..2d3f192b21 100644\n--- a/drivers/net/hinic/base/hinic_pmd_hwif.c\n+++ b/drivers/net/hinic/base/hinic_pmd_hwif.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2017 Huawei Technologies Co., Ltd\n  */\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"hinic_compat.h\"\n #include \"hinic_csr.h\"\ndiff --git a/drivers/net/hinic/base/hinic_pmd_nicio.c b/drivers/net/hinic/base/hinic_pmd_nicio.c\nindex ad5db9f1de..4aa3fa6adc 100644\n--- a/drivers/net/hinic/base/hinic_pmd_nicio.c\n+++ b/drivers/net/hinic/base/hinic_pmd_nicio.c\n@@ -1,7 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2017 Huawei Technologies Co., Ltd\n  */\n-#include<rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"hinic_compat.h\"\n #include \"hinic_pmd_hwdev.h\"\ndiff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c\nindex 35788f46eb..7aa5e7d8e9 100644\n--- a/drivers/net/hinic/hinic_pmd_ethdev.c\n+++ b/drivers/net/hinic/hinic_pmd_ethdev.c\n@@ -3,7 +3,7 @@\n  */\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <ethdev_pci.h>\n #include <rte_mbuf.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/net/hns3/hns3_common.c b/drivers/net/hns3/hns3_common.c\nindex 424205356e..e8e5aa2c86 100644\n--- a/drivers/net/hns3/hns3_common.c\n+++ b/drivers/net/hns3/hns3_common.c\n@@ -3,7 +3,7 @@\n  */\n \n #include <rte_kvargs.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <ethdev_pci.h>\n #include <rte_pci.h>\n \ndiff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c\nindex 6b1d1a5fb1..144daf1636 100644\n--- a/drivers/net/hns3/hns3_ethdev.c\n+++ b/drivers/net/hns3/hns3_ethdev.c\n@@ -3,7 +3,7 @@\n  */\n \n #include <rte_alarm.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <ethdev_pci.h>\n \n #include \"hns3_ethdev.h\"\ndiff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c\nindex 95f711e7eb..cd0c91f3a3 100644\n--- a/drivers/net/hns3/hns3_rxtx.c\n+++ b/drivers/net/hns3/hns3_rxtx.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2018-2021 HiSilicon Limited.\n  */\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <rte_cycles.h>\n #include <rte_geneve.h>\ndiff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c\nindex 67d79de08d..7bdc453ec1 100644\n--- a/drivers/net/i40e/i40e_ethdev.c\n+++ b/drivers/net/i40e/i40e_ethdev.c\n@@ -15,7 +15,7 @@\n #include <rte_eal.h>\n #include <rte_string_fns.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ether.h>\n #include <ethdev_driver.h>\n #include <ethdev_pci.h>\ndiff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c\nindex 7f8e81858e..cc0f992453 100644\n--- a/drivers/net/i40e/i40e_vf_representor.c\n+++ b/drivers/net/i40e/i40e_vf_representor.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2018 Intel Corporation.\n  */\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ethdev.h>\n #include <rte_pci.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c\nindex 7f221a5d34..e3727b7b41 100644\n--- a/drivers/net/igc/igc_ethdev.c\n+++ b/drivers/net/igc/igc_ethdev.c\n@@ -7,7 +7,7 @@\n \n #include <rte_string_fns.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <ethdev_driver.h>\n #include <ethdev_pci.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/net/ionic/ionic.h b/drivers/net/ionic/ionic.h\nindex 49b90d1b7c..a55202b178 100644\n--- a/drivers/net/ionic/ionic.h\n+++ b/drivers/net/ionic/ionic.h\n@@ -8,7 +8,7 @@\n #include <stdint.h>\n #include <inttypes.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"ionic_dev.h\"\n #include \"ionic_if.h\"\ndiff --git a/drivers/net/ionic/ionic_ethdev.c b/drivers/net/ionic/ionic_ethdev.c\nindex 28280c5377..d72033c32c 100644\n--- a/drivers/net/ionic/ionic_ethdev.c\n+++ b/drivers/net/ionic/ionic_ethdev.c\n@@ -3,7 +3,7 @@\n  */\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ethdev.h>\n #include <ethdev_driver.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/net/ipn3ke/ipn3ke_ethdev.c b/drivers/net/ipn3ke/ipn3ke_ethdev.c\nindex 2e39113941..70a06a3b15 100644\n--- a/drivers/net/ipn3ke/ipn3ke_ethdev.c\n+++ b/drivers/net/ipn3ke/ipn3ke_ethdev.c\n@@ -4,7 +4,7 @@\n \n #include <stdint.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ethdev.h>\n #include <rte_pci.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/net/ipn3ke/ipn3ke_representor.c b/drivers/net/ipn3ke/ipn3ke_representor.c\nindex 2f088d767f..2ef96a984a 100644\n--- a/drivers/net/ipn3ke/ipn3ke_representor.c\n+++ b/drivers/net/ipn3ke/ipn3ke_representor.c\n@@ -5,7 +5,7 @@\n #include <stdint.h>\n #include <unistd.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ethdev.h>\n #include <rte_pci.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/net/ipn3ke/ipn3ke_tm.c b/drivers/net/ipn3ke/ipn3ke_tm.c\nindex 2f242b678a..0260227900 100644\n--- a/drivers/net/ipn3ke/ipn3ke_tm.c\n+++ b/drivers/net/ipn3ke/ipn3ke_tm.c\n@@ -6,7 +6,7 @@\n #include <stdlib.h>\n #include <string.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ethdev.h>\n #include <rte_pci.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c\nindex f31bbb7895..552e41692c 100644\n--- a/drivers/net/ixgbe/ixgbe_ethdev.c\n+++ b/drivers/net/ixgbe/ixgbe_ethdev.c\n@@ -19,7 +19,7 @@\n #include <rte_log.h>\n #include <rte_debug.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_branch_prediction.h>\n #include <rte_memory.h>\n #include <rte_kvargs.h>\ndiff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h\nindex cc6049a66a..ff34fd1515 100644\n--- a/drivers/net/ixgbe/ixgbe_ethdev.h\n+++ b/drivers/net/ixgbe/ixgbe_ethdev.h\n@@ -20,7 +20,7 @@\n #include <rte_time.h>\n #include <rte_hash.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_tm_driver.h>\n \n /* need update link, bit flag */\ndiff --git a/drivers/net/mlx4/mlx4_ethdev.c b/drivers/net/mlx4/mlx4_ethdev.c\nindex ce74c51ce2..bb1dd33e7c 100644\n--- a/drivers/net/mlx4/mlx4_ethdev.c\n+++ b/drivers/net/mlx4/mlx4_ethdev.c\n@@ -32,7 +32,7 @@\n #pragma GCC diagnostic error \"-Wpedantic\"\n #endif\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_errno.h>\n #include <ethdev_driver.h>\n #include <rte_ether.h>\ndiff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c\nindex aaf636aa0d..661d362dc0 100644\n--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c\n@@ -25,7 +25,7 @@\n #include <time.h>\n \n #include <ethdev_driver.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_mbuf.h>\n #include <rte_common.h>\n #include <rte_interrupts.h>\ndiff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c\nindex c9ed38ef7c..efb262e368 100644\n--- a/drivers/net/mlx5/linux/mlx5_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_os.c\n@@ -19,7 +19,8 @@\n #include <ethdev_driver.h>\n #include <ethdev_pci.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <rte_bus.h>\n+#include <bus_pci_driver.h>\n #include <bus_auxiliary_driver.h>\n #include <rte_common.h>\n #include <rte_kvargs.h>\ndiff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c\nindex 998846adbe..30923b0732 100644\n--- a/drivers/net/mlx5/mlx5.c\n+++ b/drivers/net/mlx5/mlx5.c\n@@ -14,7 +14,7 @@\n #include <rte_malloc.h>\n #include <ethdev_driver.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <rte_kvargs.h>\n #include <rte_rwlock.h>\ndiff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c\nindex 05c919ed39..a5c7ca8c52 100644\n--- a/drivers/net/mlx5/mlx5_ethdev.c\n+++ b/drivers/net/mlx5/mlx5_ethdev.c\n@@ -11,7 +11,7 @@\n #include <errno.h>\n \n #include <ethdev_driver.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_mbuf.h>\n #include <rte_common.h>\n #include <rte_interrupts.h>\ndiff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c\nindex bee9363515..e122b39cb3 100644\n--- a/drivers/net/mlx5/mlx5_flow_dv.c\n+++ b/drivers/net/mlx5/mlx5_flow_dv.c\n@@ -15,7 +15,7 @@\n #include <rte_flow_driver.h>\n #include <rte_malloc.h>\n #include <rte_cycles.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_ip.h>\n #include <rte_gre.h>\n #include <rte_vxlan.h>\ndiff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c\nindex 0140f8b3b2..9150ced72d 100644\n--- a/drivers/net/mlx5/mlx5_txq.c\n+++ b/drivers/net/mlx5/mlx5_txq.c\n@@ -13,7 +13,7 @@\n #include <rte_mbuf.h>\n #include <rte_malloc.h>\n #include <ethdev_driver.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <rte_eal_paging.h>\n \ndiff --git a/drivers/net/netvsc/hn_vf.c b/drivers/net/netvsc/hn_vf.c\nindex 62948bf889..cce0a79edb 100644\n--- a/drivers/net/netvsc/hn_vf.c\n+++ b/drivers/net/netvsc/hn_vf.c\n@@ -21,7 +21,7 @@\n #include <rte_memory.h>\n #include <rte_bus_vmbus.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_log.h>\n #include <rte_string_fns.h>\n #include <rte_alarm.h>\ndiff --git a/drivers/net/ngbe/base/ngbe_osdep.h b/drivers/net/ngbe/base/ngbe_osdep.h\nindex bf1fa30312..8783fce4dd 100644\n--- a/drivers/net/ngbe/base/ngbe_osdep.h\n+++ b/drivers/net/ngbe/base/ngbe_osdep.h\n@@ -19,7 +19,7 @@\n #include <rte_config.h>\n #include <rte_io.h>\n #include <rte_ether.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"../ngbe_logs.h\"\n \ndiff --git a/drivers/net/ngbe/ngbe_pf.c b/drivers/net/ngbe/ngbe_pf.c\nindex 12a18de31d..947ae7fe94 100644\n--- a/drivers/net/ngbe/ngbe_pf.c\n+++ b/drivers/net/ngbe/ngbe_pf.c\n@@ -6,7 +6,7 @@\n #include <rte_ether.h>\n #include <ethdev_driver.h>\n #include <rte_malloc.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"base/ngbe.h\"\n #include \"ngbe_ethdev.h\"\ndiff --git a/drivers/net/octeontx/base/octeontx_pkivf.c b/drivers/net/octeontx/base/octeontx_pkivf.c\nindex 0ddff54886..6a48a22de6 100644\n--- a/drivers/net/octeontx/base/octeontx_pkivf.c\n+++ b/drivers/net/octeontx/base/octeontx_pkivf.c\n@@ -5,7 +5,7 @@\n #include <string.h>\n \n #include <rte_eal.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"../octeontx_logs.h\"\n #include \"octeontx_io.h\"\ndiff --git a/drivers/net/octeontx/base/octeontx_pkovf.c b/drivers/net/octeontx/base/octeontx_pkovf.c\nindex bf28bc7992..5d445dfb49 100644\n--- a/drivers/net/octeontx/base/octeontx_pkovf.c\n+++ b/drivers/net/octeontx/base/octeontx_pkovf.c\n@@ -10,7 +10,7 @@\n #include <rte_cycles.h>\n #include <rte_malloc.h>\n #include <rte_memory.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_spinlock.h>\n \n #include \"../octeontx_logs.h\"\ndiff --git a/drivers/net/qede/base/bcm_osal.h b/drivers/net/qede/base/bcm_osal.h\nindex 9ea579bfc8..67e7f759fe 100644\n--- a/drivers/net/qede/base/bcm_osal.h\n+++ b/drivers/net/qede/base/bcm_osal.h\n@@ -20,7 +20,7 @@\n #include <rte_ether.h>\n #include <rte_io.h>\n #include <rte_version.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n /* Forward declaration */\n struct ecore_dev;\ndiff --git a/drivers/net/sfc/sfc.h b/drivers/net/sfc/sfc.h\nindex a0979618be..0a1e224fa2 100644\n--- a/drivers/net/sfc/sfc.h\n+++ b/drivers/net/sfc/sfc.h\n@@ -13,7 +13,7 @@\n #include <stdbool.h>\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <ethdev_driver.h>\n #include <rte_kvargs.h>\n #include <rte_spinlock.h>\ndiff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c\nindex 39f85e8b84..506c62a726 100644\n--- a/drivers/net/sfc/sfc_ethdev.c\n+++ b/drivers/net/sfc/sfc_ethdev.c\n@@ -11,7 +11,7 @@\n #include <ethdev_driver.h>\n #include <ethdev_pci.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_errno.h>\n #include <rte_string_fns.h>\n #include <rte_ether.h>\ndiff --git a/drivers/net/sfc/sfc_sriov.c b/drivers/net/sfc/sfc_sriov.c\nindex 385b172e2e..009b884d8d 100644\n--- a/drivers/net/sfc/sfc_sriov.c\n+++ b/drivers/net/sfc/sfc_sriov.c\n@@ -8,7 +8,7 @@\n  */\n \n #include <rte_common.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"sfc.h\"\n #include \"sfc_log.h\"\ndiff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c\nindex 262c024560..28183ec740 100644\n--- a/drivers/net/thunderx/nicvf_ethdev.c\n+++ b/drivers/net/thunderx/nicvf_ethdev.c\n@@ -32,7 +32,7 @@\n #include <rte_malloc.h>\n #include <rte_random.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_tailq.h>\n #include <rte_devargs.h>\n #include <rte_kvargs.h>\ndiff --git a/drivers/net/txgbe/txgbe_ethdev.h b/drivers/net/txgbe/txgbe_ethdev.h\nindex 262dbb5e38..6fb22ca7d9 100644\n--- a/drivers/net/txgbe/txgbe_ethdev.h\n+++ b/drivers/net/txgbe/txgbe_ethdev.h\n@@ -20,7 +20,7 @@\n #include <rte_ethdev_core.h>\n #include <rte_hash.h>\n #include <rte_hash_crc.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_tm_driver.h>\n \n /* need update link, bit flag */\ndiff --git a/drivers/net/txgbe/txgbe_flow.c b/drivers/net/txgbe/txgbe_flow.c\nindex d0093c0163..f19bdf36dc 100644\n--- a/drivers/net/txgbe/txgbe_flow.c\n+++ b/drivers/net/txgbe/txgbe_flow.c\n@@ -4,7 +4,7 @@\n  */\n \n #include <sys/queue.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_malloc.h>\n #include <rte_flow.h>\n #include <rte_flow_driver.h>\ndiff --git a/drivers/net/txgbe/txgbe_pf.c b/drivers/net/txgbe/txgbe_pf.c\nindex 0b82fb1a88..176f79005c 100644\n--- a/drivers/net/txgbe/txgbe_pf.c\n+++ b/drivers/net/txgbe/txgbe_pf.c\n@@ -20,7 +20,7 @@\n #include <rte_memcpy.h>\n #include <rte_malloc.h>\n #include <rte_random.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"base/txgbe.h\"\n #include \"txgbe_ethdev.h\"\ndiff --git a/drivers/net/virtio/virtio_pci.h b/drivers/net/virtio/virtio_pci.h\nindex 11e25a0142..6d4a8712c2 100644\n--- a/drivers/net/virtio/virtio_pci.h\n+++ b/drivers/net/virtio/virtio_pci.h\n@@ -9,7 +9,7 @@\n #include <stdbool.h>\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <ethdev_driver.h>\n \n #include \"virtio.h\"\ndiff --git a/drivers/net/virtio/virtio_pci_ethdev.c b/drivers/net/virtio/virtio_pci_ethdev.c\nindex 1f6bdeddda..2b9e35cef5 100644\n--- a/drivers/net/virtio/virtio_pci_ethdev.c\n+++ b/drivers/net/virtio/virtio_pci_ethdev.c\n@@ -11,7 +11,7 @@\n #include <ethdev_driver.h>\n #include <ethdev_pci.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_errno.h>\n \n #include <rte_memory.h>\ndiff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c\nindex 2af67dc0a3..101b1cb500 100644\n--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c\n+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c\n@@ -19,7 +19,7 @@\n #include <rte_log.h>\n #include <rte_debug.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_branch_prediction.h>\n #include <rte_memory.h>\n #include <rte_memzone.h>\ndiff --git a/drivers/raw/cnxk_bphy/cnxk_bphy.c b/drivers/raw/cnxk_bphy/cnxk_bphy.c\nindex 349d551839..db029cbf34 100644\n--- a/drivers/raw/cnxk_bphy/cnxk_bphy.c\n+++ b/drivers/raw/cnxk_bphy/cnxk_bphy.c\n@@ -1,7 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(C) 2021 Marvell.\n  */\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_common.h>\n #include <rte_dev.h>\n #include <rte_eal.h>\ndiff --git a/drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c b/drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c\nindex 26def43564..2d8466ef91 100644\n--- a/drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c\n+++ b/drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c\n@@ -3,7 +3,7 @@\n  */\n #include <string.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_rawdev.h>\n #include <rte_rawdev_pmd.h>\n \ndiff --git a/drivers/raw/cnxk_bphy/cnxk_bphy_irq.c b/drivers/raw/cnxk_bphy/cnxk_bphy_irq.c\nindex bbe7f74def..b424d6127d 100644\n--- a/drivers/raw/cnxk_bphy/cnxk_bphy_irq.c\n+++ b/drivers/raw/cnxk_bphy/cnxk_bphy_irq.c\n@@ -1,7 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(C) 2021 Marvell.\n  */\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_pci.h>\n #include <rte_rawdev.h>\n #include <rte_rawdev_pmd.h>\ndiff --git a/drivers/raw/ifpga/afu_pmd_he_hssi.c b/drivers/raw/ifpga/afu_pmd_he_hssi.c\nindex eca1edc270..859f28dcc1 100644\n--- a/drivers/raw/ifpga/afu_pmd_he_hssi.c\n+++ b/drivers/raw/ifpga/afu_pmd_he_hssi.c\n@@ -18,7 +18,7 @@\n #include <rte_memcpy.h>\n #include <rte_io.h>\n #include <rte_vfio.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <bus_ifpga_driver.h>\n #include <rte_rawdev.h>\n \ndiff --git a/drivers/raw/ifpga/afu_pmd_he_lpbk.c b/drivers/raw/ifpga/afu_pmd_he_lpbk.c\nindex da0aba6e00..c7c5cda48c 100644\n--- a/drivers/raw/ifpga/afu_pmd_he_lpbk.c\n+++ b/drivers/raw/ifpga/afu_pmd_he_lpbk.c\n@@ -18,7 +18,7 @@\n #include <rte_memcpy.h>\n #include <rte_io.h>\n #include <rte_vfio.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <bus_ifpga_driver.h>\n #include <rte_rawdev.h>\n \ndiff --git a/drivers/raw/ifpga/afu_pmd_he_mem.c b/drivers/raw/ifpga/afu_pmd_he_mem.c\nindex 3c41aa9ee8..a1db533eeb 100644\n--- a/drivers/raw/ifpga/afu_pmd_he_mem.c\n+++ b/drivers/raw/ifpga/afu_pmd_he_mem.c\n@@ -17,7 +17,7 @@\n #include <rte_memcpy.h>\n #include <rte_io.h>\n #include <rte_vfio.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <bus_ifpga_driver.h>\n #include <rte_rawdev.h>\n \ndiff --git a/drivers/raw/ifpga/afu_pmd_n3000.c b/drivers/raw/ifpga/afu_pmd_n3000.c\nindex b7438bd372..67b3941265 100644\n--- a/drivers/raw/ifpga/afu_pmd_n3000.c\n+++ b/drivers/raw/ifpga/afu_pmd_n3000.c\n@@ -18,7 +18,7 @@\n #include <rte_memcpy.h>\n #include <rte_io.h>\n #include <rte_vfio.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <bus_ifpga_driver.h>\n #include <rte_rawdev.h>\n \ndiff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c\nindex 32de5ff0ce..ec86bfdb0c 100644\n--- a/drivers/raw/ifpga/ifpga_rawdev.c\n+++ b/drivers/raw/ifpga/ifpga_rawdev.c\n@@ -16,7 +16,7 @@\n #include <rte_devargs.h>\n #include <rte_memcpy.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_kvargs.h>\n #include <rte_alarm.h>\n #include <rte_interrupts.h>\ndiff --git a/drivers/raw/ifpga/rte_pmd_ifpga.c b/drivers/raw/ifpga/rte_pmd_ifpga.c\nindex 1ca248123b..a47d5a0350 100644\n--- a/drivers/raw/ifpga/rte_pmd_ifpga.c\n+++ b/drivers/raw/ifpga/rte_pmd_ifpga.c\n@@ -3,7 +3,7 @@\n  */\n \n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_rawdev.h>\n #include <rte_rawdev_pmd.h>\n #include \"rte_pmd_ifpga.h\"\ndiff --git a/drivers/raw/ioat/idxd_pci.c b/drivers/raw/ioat/idxd_pci.c\nindex 13515dbc6c..90ec0222e6 100644\n--- a/drivers/raw/ioat/idxd_pci.c\n+++ b/drivers/raw/ioat/idxd_pci.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2020 Intel Corporation\n  */\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_memzone.h>\n #include <rte_devargs.h>\n \ndiff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c\nindex 11341fcf5d..f58006bbda 100644\n--- a/drivers/raw/ioat/ioat_rawdev.c\n+++ b/drivers/raw/ioat/ioat_rawdev.c\n@@ -3,7 +3,7 @@\n  */\n \n #include <rte_cycles.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_memzone.h>\n #include <rte_string_fns.h>\n #include <rte_rawdev_pmd.h>\ndiff --git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c\nindex f5e773c53b..76e98fe515 100644\n--- a/drivers/raw/ntb/ntb.c\n+++ b/drivers/raw/ntb/ntb.c\n@@ -13,7 +13,7 @@\n #include <rte_log.h>\n #include <rte_pci.h>\n #include <rte_mbuf.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_memzone.h>\n #include <rte_memcpy.h>\n #include <rte_rawdev.h>\ndiff --git a/drivers/raw/ntb/ntb_hw_intel.c b/drivers/raw/ntb/ntb_hw_intel.c\nindex 20cdb761a3..9b4465176a 100644\n--- a/drivers/raw/ntb/ntb_hw_intel.c\n+++ b/drivers/raw/ntb/ntb_hw_intel.c\n@@ -8,7 +8,7 @@\n #include <rte_io.h>\n #include <rte_eal.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_rawdev.h>\n #include <rte_rawdev_pmd.h>\n \ndiff --git a/drivers/regex/mlx5/mlx5_regex.c b/drivers/regex/mlx5/mlx5_regex.c\nindex 9f79c6907c..4c20daac94 100644\n--- a/drivers/regex/mlx5/mlx5_regex.c\n+++ b/drivers/regex/mlx5/mlx5_regex.c\n@@ -9,7 +9,7 @@\n #include <rte_regexdev.h>\n #include <rte_regexdev_core.h>\n #include <rte_regexdev_driver.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include <mlx5_common.h>\n #include <mlx5_common_mr.h>\ndiff --git a/drivers/regex/mlx5/mlx5_regex_fastpath.c b/drivers/regex/mlx5/mlx5_regex_fastpath.c\nindex 9a2db7e43f..0a8c83fe14 100644\n--- a/drivers/regex/mlx5/mlx5_regex_fastpath.c\n+++ b/drivers/regex/mlx5/mlx5_regex_fastpath.c\n@@ -10,7 +10,7 @@\n #include <rte_malloc.h>\n #include <rte_log.h>\n #include <rte_errno.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_pci.h>\n #include <rte_regexdev_driver.h>\n #include <rte_mbuf.h>\ndiff --git a/drivers/vdpa/ifc/base/ifcvf_osdep.h b/drivers/vdpa/ifc/base/ifcvf_osdep.h\nindex 3d567695cc..6444d7f72c 100644\n--- a/drivers/vdpa/ifc/base/ifcvf_osdep.h\n+++ b/drivers/vdpa/ifc/base/ifcvf_osdep.h\n@@ -10,7 +10,7 @@\n \n #include <rte_cycles.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_log.h>\n #include <rte_io.h>\n \ndiff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c b/drivers/vdpa/ifc/ifcvf_vdpa.c\nindex ac42de9c79..d5ac583589 100644\n--- a/drivers/vdpa/ifc/ifcvf_vdpa.c\n+++ b/drivers/vdpa/ifc/ifcvf_vdpa.c\n@@ -14,7 +14,7 @@\n #include <rte_eal_paging.h>\n #include <rte_malloc.h>\n #include <rte_memory.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_vhost.h>\n #include <rte_vdpa.h>\n #include <vdpa_driver.h>\ndiff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c\nindex 91af792a3a..026daa3f24 100644\n--- a/drivers/vdpa/mlx5/mlx5_vdpa.c\n+++ b/drivers/vdpa/mlx5/mlx5_vdpa.c\n@@ -13,7 +13,7 @@\n #include <rte_log.h>\n #include <rte_errno.h>\n #include <rte_string_fns.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_eal_paging.h>\n \n #include <mlx5_glue.h>\ndiff --git a/drivers/vdpa/sfc/sfc_vdpa.h b/drivers/vdpa/sfc/sfc_vdpa.h\nindex daeb27d4cd..b25eb3a5fe 100644\n--- a/drivers/vdpa/sfc/sfc_vdpa.h\n+++ b/drivers/vdpa/sfc/sfc_vdpa.h\n@@ -8,7 +8,7 @@\n #include <stdint.h>\n #include <sys/queue.h>\n \n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"sfc_efx.h\"\n #include \"sfc_efx_mcdi.h\"\ndiff --git a/lib/ethdev/ethdev_pci.h b/lib/ethdev/ethdev_pci.h\nindex a268507801..94b8fba5d7 100644\n--- a/lib/ethdev/ethdev_pci.h\n+++ b/lib/ethdev/ethdev_pci.h\n@@ -12,7 +12,7 @@ extern \"C\" {\n \n #include <rte_malloc.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n #include <rte_config.h>\n #include <ethdev_driver.h>\n \ndiff --git a/lib/eventdev/eventdev_pmd_pci.h b/lib/eventdev/eventdev_pmd_pci.h\nindex 24b56faaa9..7bbec40c71 100644\n--- a/lib/eventdev/eventdev_pmd_pci.h\n+++ b/lib/eventdev/eventdev_pmd_pci.h\n@@ -23,7 +23,7 @@ extern \"C\" {\n #include <rte_eal.h>\n #include <rte_lcore.h>\n #include <rte_pci.h>\n-#include <rte_bus_pci.h>\n+#include <bus_pci_driver.h>\n \n #include \"eventdev_pmd.h\"\n \n",
    "prefixes": [
        "v5",
        "16/27"
    ]
}