get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 115857,
    "url": "http://patches.dpdk.org/api/patches/115857/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220905083933.2506819-18-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-18-david.marchand@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220905083933.2506819-18-david.marchand@redhat.com",
    "date": "2022-09-05T08:39:23",
    "name": "[v5,17/27] bus/vdev: make driver-only headers private",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "d445e07683b11f21e756af77ed9e438eae403c71",
    "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-18-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/115857/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/115857/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 DC1AAA054A;\n\tMon,  5 Sep 2022 10:41:40 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id C490F42B7C;\n\tMon,  5 Sep 2022 10:41:05 +0200 (CEST)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by mails.dpdk.org (Postfix) with ESMTP id BA105406B4\n for <dev@dpdk.org>; Mon,  5 Sep 2022 10:41:03 +0200 (CEST)",
            "from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com\n [66.187.233.73]) 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-653-ojVZlVeAOx29Rhufkw_msg-1; Mon, 05 Sep 2022 04:41:00 -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 08D3629AB3F7;\n Mon,  5 Sep 2022 08:40:58 +0000 (UTC)",
            "from fchome.redhat.com (unknown [10.40.193.251])\n by smtp.corp.redhat.com (Postfix) with ESMTP id 4F4319459C;\n Mon,  5 Sep 2022 08:40:50 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1662367263;\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=hYhN+XO6wcw4uqcOF18qpV7ezXKOWU3Sj4d2C4iinv8=;\n b=JRpF8AQbcQpzm230XNkx6rWgXLfSpCn9NVIOaM4bH005VcXleFPxniig4oIp4DSbwT8gER\n ZuHHSww+K9r3mRZ1xMmvQmxgCV67CYNb7yXb9CltVhu09+/2K9f+GNiUnSuc6BaLKf1d7V\n 9vmXCaIPQTavXUbhFQC3G96mvEvNA4E=",
        "X-MC-Unique": "ojVZlVeAOx29Rhufkw_msg-1",
        "From": "David Marchand <david.marchand@redhat.com>",
        "To": "dev@dpdk.org",
        "Cc": "thomas@monjalon.net, bruce.richardson@intel.com,\n Rosen Xu <rosen.xu@intel.com>, Ruifeng Wang <ruifeng.wang@arm.com>,\n Gagandeep Singh <g.singh@nxp.com>, Hemant Agrawal <hemant.agrawal@nxp.com>,\n Nicolas Chautru <nicolas.chautru@intel.com>, Ray Kinsella <mdr@ashroe.eu>,\n Lee Daly <lee.daly@intel.com>, Fan Zhang <roy.fan.zhang@intel.com>,\n Ashish Gupta <ashish.gupta@marvell.com>, Sunila Sahu <ssahu@marvell.com>,\n Ajit Khaparde <ajit.khaparde@broadcom.com>,\n Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>,\n Vikas Gupta <vikas.gupta@broadcom.com>,\n Chandubabu Namburu <chandu@amd.com>,\n Pablo de Lara <pablo.de.lara.guarch@intel.com>,\n Michael Shamis <michaelsh@marvell.com>, Liron Himi <lironh@marvell.com>,\n Chengwen Feng <fengchengwen@huawei.com>,\n Kevin Laatz <kevin.laatz@intel.com>,\n Sachin Saxena <sachin.saxena@oss.nxp.com>,\n Jerin Jacob <jerinj@marvell.com>, Liang Ma <liangma@liangbit.com>,\n Peter Mccarthy <peter.mccarthy@intel.com>,\n Harry van Haaren <harry.van.haaren@intel.com>,\n \"John W. Linville\" <linville@tuxdriver.com>,\n Ciara Loftus <ciara.loftus@intel.com>, Qi Zhang <qi.z.zhang@intel.com>,\n Chas Williams <chas3@att.com>, \"Min Hu (Connor)\" <humin29@huawei.com>,\n Gaetan Rivet <grive@u256.net>, Jakub Grajciar <jgrajcia@cisco.com>,\n Zyta Szpak <zr@semihalf.com>, Tetsuya Mukawa <mtetsuyah@gmail.com>,\n Harman Kalra <hkalra@marvell.com>,\n Jasvinder Singh <jasvinder.singh@intel.com>,\n Cristian Dumitrescu <cristian.dumitrescu@intel.com>,\n Matan Azrad <matan@nvidia.com>,\n Maxime Coquelin <maxime.coquelin@redhat.com>,\n Chenbo Xia <chenbo.xia@intel.com>, Jakub Palider <jpalider@marvell.com>,\n Tomasz Duszynski <tduszynski@marvell.com>,\n Tianfei zhang <tianfei.zhang@intel.com>,\n Ferruh Yigit <ferruh.yigit@xilinx.com>,\n Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>",
        "Subject": "[PATCH v5 17/27] bus/vdev: make driver-only headers private",
        "Date": "Mon,  5 Sep 2022 10:39:23 +0200",
        "Message-Id": "<20220905083933.2506819-18-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 vdev 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: Rosen Xu <rosen.xu@intel.com>\nReviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>\n---\nChanges since v4:\n- dropped unnneeded change on test_vdev.c,\n\nChanges since RFC v2:                                                           \n- squashed cleanup for this bus code from other patches,\n- updated release notes,\n\n---\n doc/guides/rel_notes/release_22_11.rst        |   4 +-\n drivers/baseband/la12xx/bbdev_la12xx.c        |   2 +-\n drivers/baseband/null/bbdev_null.c            |   2 +-\n .../baseband/turbo_sw/bbdev_turbo_software.c  |   2 +-\n drivers/bus/vdev/bus_vdev_driver.h            | 151 ++++++++++++++++++\n drivers/bus/vdev/meson.build                  |   1 +\n drivers/bus/vdev/rte_bus_vdev.h               | 134 ----------------\n drivers/bus/vdev/vdev.c                       |   8 +-\n drivers/bus/vdev/vdev_params.c                |   1 -\n drivers/bus/vdev/version.map                  |   9 +-\n drivers/compress/isal/isal_compress_pmd.c     |   2 +-\n drivers/compress/zlib/zlib_pmd.c              |   2 +-\n drivers/crypto/armv8/rte_armv8_pmd.c          |   2 +-\n drivers/crypto/bcmfs/bcmfs_device.h           |   2 +-\n drivers/crypto/caam_jr/caam_jr.c              |   2 +-\n drivers/crypto/ccp/rte_ccp_pmd.c              |   2 +-\n drivers/crypto/ipsec_mb/ipsec_mb_private.c    |   2 +-\n drivers/crypto/ipsec_mb/ipsec_mb_private.h    |   2 +-\n drivers/crypto/ipsec_mb/pmd_kasumi.c          |   2 +-\n drivers/crypto/mvsam/rte_mrvl_pmd.c           |   2 +-\n drivers/crypto/null/null_crypto_pmd.c         |   2 +-\n drivers/crypto/openssl/rte_openssl_pmd.c      |   2 +-\n drivers/crypto/scheduler/scheduler_pmd.c      |   2 +-\n drivers/dma/skeleton/skeleton_dmadev.c        |   2 +-\n drivers/event/dpaa2/dpaa2_eventdev.c          |   2 +-\n drivers/event/dpaa2/dpaa2_eventdev_selftest.c |   2 +-\n drivers/event/octeontx/ssovf_evdev.c          |   2 +-\n drivers/event/octeontx/ssovf_evdev_selftest.c |   2 +-\n drivers/event/opdl/opdl_evdev.c               |   2 +-\n drivers/event/opdl/opdl_evdev_init.c          |   2 +-\n drivers/event/opdl/opdl_test.c                |   2 +-\n drivers/event/skeleton/skeleton_eventdev.c    |   2 +-\n drivers/event/sw/sw_evdev.c                   |   2 +-\n drivers/event/sw/sw_evdev_selftest.c          |   2 +-\n drivers/net/af_packet/rte_eth_af_packet.c     |   2 +-\n drivers/net/af_xdp/rte_eth_af_xdp.c           |   2 +-\n drivers/net/bonding/rte_eth_bond_api.c        |   2 +-\n drivers/net/bonding/rte_eth_bond_pmd.c        |   2 +-\n drivers/net/failsafe/failsafe.c               |   3 +-\n drivers/net/ipn3ke/ipn3ke_ethdev.h            |   2 +-\n drivers/net/kni/rte_eth_kni.c                 |   2 +-\n drivers/net/memif/memif_socket.c              |   2 +-\n drivers/net/memif/rte_eth_memif.c             |   2 +-\n drivers/net/mvneta/mvneta_ethdev.c            |   2 +-\n drivers/net/mvpp2/mrvl_ethdev.c               |   2 +-\n drivers/net/null/rte_eth_null.c               |   2 +-\n drivers/net/octeontx/octeontx_ethdev.c        |   2 +-\n drivers/net/pcap/pcap_ethdev.c                |   2 +-\n drivers/net/pfe/pfe_ethdev.c                  |   2 +-\n drivers/net/ring/rte_eth_ring.c               |   2 +-\n drivers/net/softnic/rte_eth_softnic.c         |   2 +-\n drivers/net/tap/rte_eth_tap.c                 |   2 +-\n drivers/net/vdev_netvsc/vdev_netvsc.c         |   2 +-\n drivers/net/vhost/rte_eth_vhost.c             |   2 +-\n drivers/net/virtio/virtio_user_ethdev.c       |   2 +-\n drivers/raw/cnxk_gpio/cnxk_gpio.c             |   2 +-\n drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c         |   2 +-\n drivers/raw/ifpga/ifpga_rawdev.c              |   2 +-\n drivers/raw/skeleton/skeleton_rawdev.c        |   2 +-\n drivers/raw/skeleton/skeleton_rawdev_test.c   |   2 +-\n lib/ethdev/ethdev_vdev.h                      |   2 +-\n lib/eventdev/eventdev_pmd_vdev.h              |   2 +-\n 62 files changed, 220 insertions(+), 199 deletions(-)\n create mode 100644 drivers/bus/vdev/bus_vdev_driver.h",
    "diff": "diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst\nindex 8fa4cf468d..bafd99c39e 100644\n--- a/doc/guides/rel_notes/release_22_11.rst\n+++ b/doc/guides/rel_notes/release_22_11.rst\n@@ -88,8 +88,8 @@ 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``, ``pci``\n-  buses has been marked as an internal API.\n+* drivers: Registering a driver on the ``auxiliary``, ``ifpga``, ``pci``,\n+  ``vdev`` 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).\n \ndiff --git a/drivers/baseband/la12xx/bbdev_la12xx.c b/drivers/baseband/la12xx/bbdev_la12xx.c\nindex 4d1bd16751..f0927d9fca 100644\n--- a/drivers/baseband/la12xx/bbdev_la12xx.c\n+++ b/drivers/baseband/la12xx/bbdev_la12xx.c\n@@ -10,7 +10,7 @@\n #include <dirent.h>\n \n #include <rte_common.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_malloc.h>\n #include <rte_ring.h>\n #include <rte_kvargs.h>\ndiff --git a/drivers/baseband/null/bbdev_null.c b/drivers/baseband/null/bbdev_null.c\nindex 248e12987f..e76ef2313f 100644\n--- a/drivers/baseband/null/bbdev_null.c\n+++ b/drivers/baseband/null/bbdev_null.c\n@@ -5,7 +5,7 @@\n #include <string.h>\n \n #include <rte_common.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_malloc.h>\n #include <rte_ring.h>\n #include <rte_kvargs.h>\ndiff --git a/drivers/baseband/turbo_sw/bbdev_turbo_software.c b/drivers/baseband/turbo_sw/bbdev_turbo_software.c\nindex af7bc416f9..e8d0c43e6f 100644\n--- a/drivers/baseband/turbo_sw/bbdev_turbo_software.c\n+++ b/drivers/baseband/turbo_sw/bbdev_turbo_software.c\n@@ -5,7 +5,7 @@\n #include <string.h>\n \n #include <rte_common.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_malloc.h>\n #include <rte_ring.h>\n #include <rte_kvargs.h>\ndiff --git a/drivers/bus/vdev/bus_vdev_driver.h b/drivers/bus/vdev/bus_vdev_driver.h\nnew file mode 100644\nindex 0000000000..36748cdfae\n--- /dev/null\n+++ b/drivers/bus/vdev/bus_vdev_driver.h\n@@ -0,0 +1,151 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2016 RehiveTech. All rights reserved.\n+ */\n+\n+#ifndef BUS_VDEV_DRIVER_H\n+#define BUS_VDEV_DRIVER_H\n+\n+#ifdef __cplusplus\n+extern \"C\" {\n+#endif\n+\n+#include <rte_bus_vdev.h>\n+#include <rte_compat.h>\n+#include <rte_dev.h>\n+#include <rte_devargs.h>\n+\n+struct rte_vdev_device {\n+\tRTE_TAILQ_ENTRY(rte_vdev_device) next;      /**< Next attached vdev */\n+\tstruct rte_device device;               /**< Inherit core device */\n+};\n+\n+/**\n+ * @internal\n+ * Helper macro for drivers that need to convert to struct rte_vdev_device.\n+ */\n+#define RTE_DEV_TO_VDEV(ptr) \\\n+\tcontainer_of(ptr, struct rte_vdev_device, device)\n+\n+#define RTE_DEV_TO_VDEV_CONST(ptr) \\\n+\tcontainer_of(ptr, const struct rte_vdev_device, device)\n+\n+#define RTE_ETH_DEV_TO_VDEV(eth_dev)\tRTE_DEV_TO_VDEV((eth_dev)->device)\n+\n+static inline const char *\n+rte_vdev_device_name(const struct rte_vdev_device *dev)\n+{\n+\tif (dev && dev->device.name)\n+\t\treturn dev->device.name;\n+\treturn NULL;\n+}\n+\n+static inline const char *\n+rte_vdev_device_args(const struct rte_vdev_device *dev)\n+{\n+\tif (dev && dev->device.devargs)\n+\t\treturn dev->device.devargs->args;\n+\treturn \"\";\n+}\n+\n+/**\n+ * Probe function called for each virtual device driver once.\n+ */\n+typedef int (rte_vdev_probe_t)(struct rte_vdev_device *dev);\n+\n+/**\n+ * Remove function called for each virtual device driver once.\n+ */\n+typedef int (rte_vdev_remove_t)(struct rte_vdev_device *dev);\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 Virtual 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 (rte_vdev_dma_map_t)(struct rte_vdev_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 Virtual 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 (rte_vdev_dma_unmap_t)(struct rte_vdev_device *dev, void *addr,\n+\t\t\t      uint64_t iova, size_t len);\n+\n+/**\n+ * A virtual device driver abstraction.\n+ */\n+struct rte_vdev_driver {\n+\tRTE_TAILQ_ENTRY(rte_vdev_driver) next; /**< Next in list. */\n+\tstruct rte_driver driver;        /**< Inherited general driver. */\n+\trte_vdev_probe_t *probe;         /**< Virtual device probe function. */\n+\trte_vdev_remove_t *remove;       /**< Virtual device remove function. */\n+\trte_vdev_dma_map_t *dma_map;     /**< Virtual device DMA map function. */\n+\trte_vdev_dma_unmap_t *dma_unmap; /**< Virtual device DMA unmap function. */\n+\tuint32_t drv_flags;              /**< Flags RTE_VDEV_DRV_*. */\n+};\n+\n+/** Device driver needs IOVA as VA and cannot work with IOVA as PA */\n+#define RTE_VDEV_DRV_NEED_IOVA_AS_VA 0x0001\n+\n+/**\n+ * Register a virtual device driver.\n+ *\n+ * @param driver\n+ *   A pointer to a rte_vdev_driver structure describing the driver\n+ *   to be registered.\n+ */\n+__rte_internal\n+void rte_vdev_register(struct rte_vdev_driver *driver);\n+\n+/**\n+ * Unregister a virtual device driver.\n+ *\n+ * @param driver\n+ *   A pointer to a rte_vdev_driver structure describing the driver\n+ *   to be unregistered.\n+ */\n+__rte_internal\n+void rte_vdev_unregister(struct rte_vdev_driver *driver);\n+\n+#define RTE_PMD_REGISTER_VDEV(nm, vdrv)\\\n+static const char *vdrvinit_ ## nm ## _alias;\\\n+RTE_INIT(vdrvinitfn_ ##vdrv)\\\n+{\\\n+\t(vdrv).driver.name = RTE_STR(nm);\\\n+\t(vdrv).driver.alias = vdrvinit_ ## nm ## _alias;\\\n+\trte_vdev_register(&vdrv);\\\n+} \\\n+RTE_PMD_EXPORT_NAME(nm, __COUNTER__)\n+\n+#define RTE_PMD_REGISTER_ALIAS(nm, alias)\\\n+static const char *vdrvinit_ ## nm ## _alias = RTE_STR(alias)\n+\n+#ifdef __cplusplus\n+}\n+#endif\n+\n+#endif /* BUS_VDEV_DRIVER_H */\ndiff --git a/drivers/bus/vdev/meson.build b/drivers/bus/vdev/meson.build\nindex 8adf674530..1532ed4f35 100644\n--- a/drivers/bus/vdev/meson.build\n+++ b/drivers/bus/vdev/meson.build\n@@ -6,5 +6,6 @@ sources = files(\n         'vdev_params.c',\n )\n headers = files('rte_bus_vdev.h')\n+driver_sdk_headers = files('bus_vdev_driver.h')\n \n deps += ['kvargs']\ndiff --git a/drivers/bus/vdev/rte_bus_vdev.h b/drivers/bus/vdev/rte_bus_vdev.h\nindex 5af6be009f..f48dd24e5e 100644\n--- a/drivers/bus/vdev/rte_bus_vdev.h\n+++ b/drivers/bus/vdev/rte_bus_vdev.h\n@@ -15,140 +15,6 @@\n extern \"C\" {\n #endif\n \n-#include <rte_dev.h>\n-#include <rte_devargs.h>\n-\n-struct rte_vdev_device {\n-\tRTE_TAILQ_ENTRY(rte_vdev_device) next;      /**< Next attached vdev */\n-\tstruct rte_device device;               /**< Inherit core device */\n-};\n-\n-/**\n- * @internal\n- * Helper macro for drivers that need to convert to struct rte_vdev_device.\n- */\n-#define RTE_DEV_TO_VDEV(ptr) \\\n-\tcontainer_of(ptr, struct rte_vdev_device, device)\n-\n-#define RTE_DEV_TO_VDEV_CONST(ptr) \\\n-\tcontainer_of(ptr, const struct rte_vdev_device, device)\n-\n-#define RTE_ETH_DEV_TO_VDEV(eth_dev)\tRTE_DEV_TO_VDEV((eth_dev)->device)\n-\n-static inline const char *\n-rte_vdev_device_name(const struct rte_vdev_device *dev)\n-{\n-\tif (dev && dev->device.name)\n-\t\treturn dev->device.name;\n-\treturn NULL;\n-}\n-\n-static inline const char *\n-rte_vdev_device_args(const struct rte_vdev_device *dev)\n-{\n-\tif (dev && dev->device.devargs)\n-\t\treturn dev->device.devargs->args;\n-\treturn \"\";\n-}\n-\n-/** Double linked list of virtual device drivers. */\n-RTE_TAILQ_HEAD(vdev_driver_list, rte_vdev_driver);\n-\n-/**\n- * Probe function called for each virtual device driver once.\n- */\n-typedef int (rte_vdev_probe_t)(struct rte_vdev_device *dev);\n-\n-/**\n- * Remove function called for each virtual device driver once.\n- */\n-typedef int (rte_vdev_remove_t)(struct rte_vdev_device *dev);\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 Virtual 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 (rte_vdev_dma_map_t)(struct rte_vdev_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 Virtual 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 (rte_vdev_dma_unmap_t)(struct rte_vdev_device *dev, void *addr,\n-\t\t\t      uint64_t iova, size_t len);\n-\n-/**\n- * A virtual device driver abstraction.\n- */\n-struct rte_vdev_driver {\n-\tRTE_TAILQ_ENTRY(rte_vdev_driver) next; /**< Next in list. */\n-\tstruct rte_driver driver;        /**< Inherited general driver. */\n-\trte_vdev_probe_t *probe;         /**< Virtual device probe function. */\n-\trte_vdev_remove_t *remove;       /**< Virtual device remove function. */\n-\trte_vdev_dma_map_t *dma_map;     /**< Virtual device DMA map function. */\n-\trte_vdev_dma_unmap_t *dma_unmap; /**< Virtual device DMA unmap function. */\n-\tuint32_t drv_flags;              /**< Flags RTE_VDEV_DRV_*. */\n-};\n-\n-/** Device driver needs IOVA as VA and cannot work with IOVA as PA */\n-#define RTE_VDEV_DRV_NEED_IOVA_AS_VA 0x0001\n-\n-/**\n- * Register a virtual device driver.\n- *\n- * @param driver\n- *   A pointer to a rte_vdev_driver structure describing the driver\n- *   to be registered.\n- */\n-void rte_vdev_register(struct rte_vdev_driver *driver);\n-\n-/**\n- * Unregister a virtual device driver.\n- *\n- * @param driver\n- *   A pointer to a rte_vdev_driver structure describing the driver\n- *   to be unregistered.\n- */\n-void rte_vdev_unregister(struct rte_vdev_driver *driver);\n-\n-#define RTE_PMD_REGISTER_VDEV(nm, vdrv)\\\n-static const char *vdrvinit_ ## nm ## _alias;\\\n-RTE_INIT(vdrvinitfn_ ##vdrv)\\\n-{\\\n-\t(vdrv).driver.name = RTE_STR(nm);\\\n-\t(vdrv).driver.alias = vdrvinit_ ## nm ## _alias;\\\n-\trte_vdev_register(&vdrv);\\\n-} \\\n-RTE_PMD_EXPORT_NAME(nm, __COUNTER__)\n-\n-#define RTE_PMD_REGISTER_ALIAS(nm, alias)\\\n-static const char *vdrvinit_ ## nm ## _alias = RTE_STR(alias)\n-\n typedef void (*rte_vdev_scan_callback)(void *user_arg);\n \n /**\ndiff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c\nindex a8d8b2327e..7d78cf93bc 100644\n--- a/drivers/bus/vdev/vdev.c\n+++ b/drivers/bus/vdev/vdev.c\n@@ -21,7 +21,7 @@\n #include <rte_string_fns.h>\n #include <rte_errno.h>\n \n-#include \"rte_bus_vdev.h\"\n+#include \"bus_vdev_driver.h\"\n #include \"vdev_logs.h\"\n #include \"vdev_private.h\"\n \n@@ -30,16 +30,14 @@\n /* Forward declare to access virtual bus name */\n static struct rte_bus rte_vdev_bus;\n \n-/** Double linked list of virtual device drivers. */\n-TAILQ_HEAD(vdev_device_list, rte_vdev_device);\n \n-static struct vdev_device_list vdev_device_list =\n+static TAILQ_HEAD(, rte_vdev_device) vdev_device_list =\n \tTAILQ_HEAD_INITIALIZER(vdev_device_list);\n /* The lock needs to be recursive because a vdev can manage another vdev. */\n static rte_spinlock_recursive_t vdev_device_list_lock =\n \tRTE_SPINLOCK_RECURSIVE_INITIALIZER;\n \n-static struct vdev_driver_list vdev_driver_list =\n+static TAILQ_HEAD(, rte_vdev_driver) vdev_driver_list =\n \tTAILQ_HEAD_INITIALIZER(vdev_driver_list);\n \n struct vdev_custom_scan {\ndiff --git a/drivers/bus/vdev/vdev_params.c b/drivers/bus/vdev/vdev_params.c\nindex 3969faf16d..2c72614776 100644\n--- a/drivers/bus/vdev/vdev_params.c\n+++ b/drivers/bus/vdev/vdev_params.c\n@@ -5,7 +5,6 @@\n #include <string.h>\n \n #include <rte_dev.h>\n-#include <rte_bus.h>\n #include <rte_kvargs.h>\n #include <rte_errno.h>\n \ndiff --git a/drivers/bus/vdev/version.map b/drivers/bus/vdev/version.map\nindex 7cc3098a50..594c48c3db 100644\n--- a/drivers/bus/vdev/version.map\n+++ b/drivers/bus/vdev/version.map\n@@ -3,10 +3,15 @@ DPDK_23 {\n \n \trte_vdev_add_custom_scan;\n \trte_vdev_init;\n-\trte_vdev_register;\n \trte_vdev_remove_custom_scan;\n \trte_vdev_uninit;\n-\trte_vdev_unregister;\n \n \tlocal: *;\n };\n+\n+INTERNAL {\n+\tglobal:\n+\n+\trte_vdev_register;\n+\trte_vdev_unregister;\n+};\ndiff --git a/drivers/compress/isal/isal_compress_pmd.c b/drivers/compress/isal/isal_compress_pmd.c\nindex b7ba61c434..cb23e929ed 100644\n--- a/drivers/compress/isal/isal_compress_pmd.c\n+++ b/drivers/compress/isal/isal_compress_pmd.c\n@@ -3,7 +3,7 @@\n  */\n #include <isa-l.h>\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_common.h>\n #include <rte_cpuflags.h>\n #include <rte_malloc.h>\ndiff --git a/drivers/compress/zlib/zlib_pmd.c b/drivers/compress/zlib/zlib_pmd.c\nindex 0220c6d038..98abd41013 100644\n--- a/drivers/compress/zlib/zlib_pmd.c\n+++ b/drivers/compress/zlib/zlib_pmd.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2018 Cavium Networks\n  */\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_common.h>\n \n #include \"zlib_pmd_private.h\"\ndiff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c\nindex 32127a874c..5c060e71a3 100644\n--- a/drivers/crypto/armv8/rte_armv8_pmd.c\n+++ b/drivers/crypto/armv8/rte_armv8_pmd.c\n@@ -8,7 +8,7 @@\n #include <rte_hexdump.h>\n #include <rte_cryptodev.h>\n #include <cryptodev_pmd.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_malloc.h>\n #include <rte_cpuflags.h>\n \ndiff --git a/drivers/crypto/bcmfs/bcmfs_device.h b/drivers/crypto/bcmfs/bcmfs_device.h\nindex 4901a6cfd9..610454dd5e 100644\n--- a/drivers/crypto/bcmfs/bcmfs_device.h\n+++ b/drivers/crypto/bcmfs/bcmfs_device.h\n@@ -9,7 +9,7 @@\n #include <sys/queue.h>\n \n #include <rte_spinlock.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #include \"bcmfs_logs.h\"\n #include \"bcmfs_qp.h\"\ndiff --git a/drivers/crypto/caam_jr/caam_jr.c b/drivers/crypto/caam_jr/caam_jr.c\nindex 8e9cfe73d8..8c0b4909cf 100644\n--- a/drivers/crypto/caam_jr/caam_jr.c\n+++ b/drivers/crypto/caam_jr/caam_jr.c\n@@ -12,7 +12,7 @@\n #include <cryptodev_pmd.h>\n #include <rte_crypto.h>\n #include <rte_cryptodev.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_malloc.h>\n #include <rte_security_driver.h>\n #include <rte_hexdump.h>\ndiff --git a/drivers/crypto/ccp/rte_ccp_pmd.c b/drivers/crypto/ccp/rte_ccp_pmd.c\nindex 4957f11e97..6c3e45e333 100644\n--- a/drivers/crypto/ccp/rte_ccp_pmd.c\n+++ b/drivers/crypto/ccp/rte_ccp_pmd.c\n@@ -4,7 +4,7 @@\n \n #include <rte_string_fns.h>\n #include <bus_pci_driver.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_common.h>\n #include <rte_cryptodev.h>\n #include <cryptodev_pmd.h>\ndiff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.c b/drivers/crypto/ipsec_mb/ipsec_mb_private.c\nindex aab42c360c..2e7347fa79 100644\n--- a/drivers/crypto/ipsec_mb/ipsec_mb_private.c\n+++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2021 Intel Corporation\n  */\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_common.h>\n #include <rte_cryptodev.h>\n \ndiff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.h b/drivers/crypto/ipsec_mb/ipsec_mb_private.h\nindex e2c240dfc0..d0d4258ee1 100644\n--- a/drivers/crypto/ipsec_mb/ipsec_mb_private.h\n+++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.h\n@@ -7,7 +7,7 @@\n \n #include <intel-ipsec-mb.h>\n #include <cryptodev_pmd.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #if defined(RTE_LIB_SECURITY)\n #define IPSEC_MB_DOCSIS_SEC_ENABLED 1\ndiff --git a/drivers/crypto/ipsec_mb/pmd_kasumi.c b/drivers/crypto/ipsec_mb/pmd_kasumi.c\nindex c9d4f9d0ae..fba10b8cf4 100644\n--- a/drivers/crypto/ipsec_mb/pmd_kasumi.c\n+++ b/drivers/crypto/ipsec_mb/pmd_kasumi.c\n@@ -2,7 +2,7 @@\n  * Copyright(c) 2016-2021 Intel Corporation\n  */\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_common.h>\n #include <rte_cpuflags.h>\n #include <rte_cryptodev.h>\ndiff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c\nindex 04efd9aaa8..c35876c8b4 100644\n--- a/drivers/crypto/mvsam/rte_mrvl_pmd.c\n+++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c\n@@ -9,7 +9,7 @@\n #include <rte_cryptodev.h>\n #include <cryptodev_pmd.h>\n #include <rte_security_driver.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_malloc.h>\n #include <rte_cpuflags.h>\n #include <rte_kvargs.h>\ndiff --git a/drivers/crypto/null/null_crypto_pmd.c b/drivers/crypto/null/null_crypto_pmd.c\nindex 9ecb434fd0..eab74ad45f 100644\n--- a/drivers/crypto/null/null_crypto_pmd.c\n+++ b/drivers/crypto/null/null_crypto_pmd.c\n@@ -4,7 +4,7 @@\n \n #include <rte_common.h>\n #include <cryptodev_pmd.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_malloc.h>\n \n #include \"null_crypto_pmd_private.h\"\ndiff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c\nindex e01dacc98d..ed6d215f1b 100644\n--- a/drivers/crypto/openssl/rte_openssl_pmd.c\n+++ b/drivers/crypto/openssl/rte_openssl_pmd.c\n@@ -6,7 +6,7 @@\n #include <rte_hexdump.h>\n #include <rte_cryptodev.h>\n #include <cryptodev_pmd.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_malloc.h>\n #include <rte_cpuflags.h>\n \ndiff --git a/drivers/crypto/scheduler/scheduler_pmd.c b/drivers/crypto/scheduler/scheduler_pmd.c\nindex dd198080bf..a15c02b4d8 100644\n--- a/drivers/crypto/scheduler/scheduler_pmd.c\n+++ b/drivers/crypto/scheduler/scheduler_pmd.c\n@@ -5,7 +5,7 @@\n #include <rte_hexdump.h>\n #include <rte_cryptodev.h>\n #include <cryptodev_pmd.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_malloc.h>\n #include <rte_cpuflags.h>\n #include <rte_reorder.h>\ndiff --git a/drivers/dma/skeleton/skeleton_dmadev.c b/drivers/dma/skeleton/skeleton_dmadev.c\nindex 82b4661323..09068a9521 100644\n--- a/drivers/dma/skeleton/skeleton_dmadev.c\n+++ b/drivers/dma/skeleton/skeleton_dmadev.c\n@@ -4,7 +4,7 @@\n \n #include <inttypes.h>\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_cycles.h>\n #include <rte_eal.h>\n #include <rte_kvargs.h>\ndiff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c\nindex 5de3e9e5f5..08df6e223a 100644\n--- a/drivers/event/dpaa2/dpaa2_eventdev.c\n+++ b/drivers/event/dpaa2/dpaa2_eventdev.c\n@@ -23,7 +23,7 @@\n #include <rte_memcpy.h>\n #include <rte_memory.h>\n #include <rte_pci.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <ethdev_driver.h>\n #include <cryptodev_pmd.h>\n #include <rte_event_eth_rx_adapter.h>\ndiff --git a/drivers/event/dpaa2/dpaa2_eventdev_selftest.c b/drivers/event/dpaa2/dpaa2_eventdev_selftest.c\nindex 941fb8fc43..427aff4b11 100644\n--- a/drivers/event/dpaa2/dpaa2_eventdev_selftest.c\n+++ b/drivers/event/dpaa2/dpaa2_eventdev_selftest.c\n@@ -17,7 +17,7 @@\n #include <rte_lcore.h>\n #include <rte_per_lcore.h>\n #include <rte_random.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_test.h>\n #include <bus_fslmc_driver.h>\n \ndiff --git a/drivers/event/octeontx/ssovf_evdev.c b/drivers/event/octeontx/ssovf_evdev.c\nindex 9e14e35d10..fe157c59d5 100644\n--- a/drivers/event/octeontx/ssovf_evdev.c\n+++ b/drivers/event/octeontx/ssovf_evdev.c\n@@ -16,7 +16,7 @@\n #include <rte_log.h>\n #include <rte_malloc.h>\n #include <rte_memory.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #include \"ssovf_evdev.h\"\n #include \"timvf_evdev.h\"\ndiff --git a/drivers/event/octeontx/ssovf_evdev_selftest.c b/drivers/event/octeontx/ssovf_evdev_selftest.c\nindex b55523632a..3dbf31efa9 100644\n--- a/drivers/event/octeontx/ssovf_evdev_selftest.c\n+++ b/drivers/event/octeontx/ssovf_evdev_selftest.c\n@@ -17,7 +17,7 @@\n #include <rte_lcore.h>\n #include <rte_per_lcore.h>\n #include <rte_random.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_test.h>\n \n #include \"ssovf_evdev.h\"\ndiff --git a/drivers/event/opdl/opdl_evdev.c b/drivers/event/opdl/opdl_evdev.c\nindex 8b6890b220..368e5a9657 100644\n--- a/drivers/event/opdl/opdl_evdev.c\n+++ b/drivers/event/opdl/opdl_evdev.c\n@@ -5,7 +5,7 @@\n #include <inttypes.h>\n #include <string.h>\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_lcore.h>\n #include <rte_memzone.h>\n #include <rte_kvargs.h>\ndiff --git a/drivers/event/opdl/opdl_evdev_init.c b/drivers/event/opdl/opdl_evdev_init.c\nindex 15aae47524..be3437fc2f 100644\n--- a/drivers/event/opdl/opdl_evdev_init.c\n+++ b/drivers/event/opdl/opdl_evdev_init.c\n@@ -5,7 +5,7 @@\n #include <inttypes.h>\n #include <string.h>\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_errno.h>\n #include <rte_cycles.h>\n #include <rte_memzone.h>\ndiff --git a/drivers/event/opdl/opdl_test.c b/drivers/event/opdl/opdl_test.c\nindex 24b92df476..50c12a18b0 100644\n--- a/drivers/event/opdl/opdl_test.c\n+++ b/drivers/event/opdl/opdl_test.c\n@@ -19,7 +19,7 @@\n #include <rte_ethdev.h>\n #include <rte_cycles.h>\n #include <rte_eventdev.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_pause.h>\n \n #include \"opdl_evdev.h\"\ndiff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c\nindex bf3b01ebc8..6bd8fec6d4 100644\n--- a/drivers/event/skeleton/skeleton_eventdev.c\n+++ b/drivers/event/skeleton/skeleton_eventdev.c\n@@ -18,7 +18,7 @@\n #include <rte_malloc.h>\n #include <rte_memory.h>\n #include <rte_lcore.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #include \"skeleton_eventdev.h\"\n \ndiff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c\nindex f93313b31b..22cba1e74b 100644\n--- a/drivers/event/sw/sw_evdev.c\n+++ b/drivers/event/sw/sw_evdev.c\n@@ -5,7 +5,7 @@\n #include <inttypes.h>\n #include <string.h>\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_kvargs.h>\n #include <rte_ring.h>\n #include <rte_errno.h>\ndiff --git a/drivers/event/sw/sw_evdev_selftest.c b/drivers/event/sw/sw_evdev_selftest.c\nindex cb97a4d615..59bcdf5734 100644\n--- a/drivers/event/sw/sw_evdev_selftest.c\n+++ b/drivers/event/sw/sw_evdev_selftest.c\n@@ -21,7 +21,7 @@\n #include <rte_pause.h>\n #include <rte_service.h>\n #include <rte_service_component.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #include \"sw_evdev.h\"\n \ndiff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c\nindex 1396f32c3d..e2771e6765 100644\n--- a/drivers/net/af_packet/rte_eth_af_packet.c\n+++ b/drivers/net/af_packet/rte_eth_af_packet.c\n@@ -12,7 +12,7 @@\n #include <ethdev_vdev.h>\n #include <rte_malloc.h>\n #include <rte_kvargs.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #include <errno.h>\n #include <linux/if_ether.h>\ndiff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c\nindex fce649c2a1..fd7be47311 100644\n--- a/drivers/net/af_xdp/rte_eth_af_xdp.c\n+++ b/drivers/net/af_xdp/rte_eth_af_xdp.c\n@@ -20,7 +20,7 @@\n #include <ethdev_driver.h>\n #include <ethdev_vdev.h>\n #include <rte_kvargs.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_string_fns.h>\n #include <rte_branch_prediction.h>\n #include <rte_common.h>\ndiff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c\nindex 4ac191c468..b44dd219cb 100644\n--- a/drivers/net/bonding/rte_eth_bond_api.c\n+++ b/drivers/net/bonding/rte_eth_bond_api.c\n@@ -8,7 +8,7 @@\n #include <rte_malloc.h>\n #include <ethdev_driver.h>\n #include <rte_tcp.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_kvargs.h>\n \n #include \"rte_eth_bond.h\"\ndiff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c\nindex 73e6972035..cd80a0af46 100644\n--- a/drivers/net/bonding/rte_eth_bond_pmd.c\n+++ b/drivers/net/bonding/rte_eth_bond_pmd.c\n@@ -15,7 +15,7 @@\n #include <rte_ip_frag.h>\n #include <rte_devargs.h>\n #include <rte_kvargs.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_alarm.h>\n #include <rte_cycles.h>\n #include <rte_string_fns.h>\ndiff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c\nindex 05cf533896..5d4d52c341 100644\n--- a/drivers/net/failsafe/failsafe.c\n+++ b/drivers/net/failsafe/failsafe.c\n@@ -11,7 +11,8 @@\n #include <ethdev_vdev.h>\n #include <rte_devargs.h>\n #include <rte_kvargs.h>\n-#include <rte_bus_vdev.h>\n+#include <rte_bus.h>\n+#include <bus_vdev_driver.h>\n \n #include \"failsafe_private.h\"\n \ndiff --git a/drivers/net/ipn3ke/ipn3ke_ethdev.h b/drivers/net/ipn3ke/ipn3ke_ethdev.h\nindex dbf57f9ba8..4b93d2649e 100644\n--- a/drivers/net/ipn3ke/ipn3ke_ethdev.h\n+++ b/drivers/net/ipn3ke/ipn3ke_ethdev.h\n@@ -19,7 +19,7 @@\n #include <ethdev_vdev.h>\n #include <rte_malloc.h>\n #include <rte_memcpy.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_kvargs.h>\n #include <rte_spinlock.h>\n \ndiff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c\nindex 0532de5315..c0e1f8db40 100644\n--- a/drivers/net/kni/rte_eth_kni.c\n+++ b/drivers/net/kni/rte_eth_kni.c\n@@ -12,7 +12,7 @@\n #include <rte_kni.h>\n #include <rte_kvargs.h>\n #include <rte_malloc.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n /* Only single queue supported */\n #define KNI_MAX_QUEUE_PER_PORT 1\ndiff --git a/drivers/net/memif/memif_socket.c b/drivers/net/memif/memif_socket.c\nindex 7886644412..4700ce2e77 100644\n--- a/drivers/net/memif/memif_socket.c\n+++ b/drivers/net/memif/memif_socket.c\n@@ -17,7 +17,7 @@\n #include <ethdev_vdev.h>\n #include <rte_malloc.h>\n #include <rte_kvargs.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_hash.h>\n #include <rte_jhash.h>\n #include <rte_string_fns.h>\ndiff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c\nindex dd951b8296..a574bce49e 100644\n--- a/drivers/net/memif/rte_eth_memif.c\n+++ b/drivers/net/memif/rte_eth_memif.c\n@@ -21,7 +21,7 @@\n #include <ethdev_vdev.h>\n #include <rte_malloc.h>\n #include <rte_kvargs.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_string_fns.h>\n #include <rte_errno.h>\n #include <rte_memory.h>\ndiff --git a/drivers/net/mvneta/mvneta_ethdev.c b/drivers/net/mvneta/mvneta_ethdev.c\nindex eef016aa0b..6a0dd6091d 100644\n--- a/drivers/net/mvneta/mvneta_ethdev.c\n+++ b/drivers/net/mvneta/mvneta_ethdev.c\n@@ -7,7 +7,7 @@\n #include <rte_string_fns.h>\n #include <ethdev_driver.h>\n #include <rte_kvargs.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #include <stdio.h>\n #include <fcntl.h>\ndiff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c\nindex 735efb6cfc..310e3e5acf 100644\n--- a/drivers/net/mvpp2/mrvl_ethdev.c\n+++ b/drivers/net/mvpp2/mrvl_ethdev.c\n@@ -9,7 +9,7 @@\n #include <rte_kvargs.h>\n #include <rte_log.h>\n #include <rte_malloc.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #include <fcntl.h>\n #include <linux/ethtool.h>\ndiff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c\nindex bb89c1abc4..a517376d40 100644\n--- a/drivers/net/null/rte_eth_null.c\n+++ b/drivers/net/null/rte_eth_null.c\n@@ -8,7 +8,7 @@\n #include <ethdev_vdev.h>\n #include <rte_malloc.h>\n #include <rte_memcpy.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_kvargs.h>\n #include <rte_spinlock.h>\n \ndiff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c\nindex 3aca53fb98..9ada22e2ff 100644\n--- a/drivers/net/octeontx/octeontx_ethdev.c\n+++ b/drivers/net/octeontx/octeontx_ethdev.c\n@@ -12,7 +12,7 @@\n #include <eventdev_pmd.h>\n #include <rte_alarm.h>\n #include <rte_branch_prediction.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_cycles.h>\n #include <rte_debug.h>\n #include <rte_dev.h>\ndiff --git a/drivers/net/pcap/pcap_ethdev.c b/drivers/net/pcap/pcap_ethdev.c\nindex ec29fd6bc5..7fb4abb20b 100644\n--- a/drivers/net/pcap/pcap_ethdev.c\n+++ b/drivers/net/pcap/pcap_ethdev.c\n@@ -15,7 +15,7 @@\n #include <rte_malloc.h>\n #include <rte_mbuf.h>\n #include <rte_mbuf_dyn.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_os_shim.h>\n \n #include \"pcap_osdep.h\"\ndiff --git a/drivers/net/pfe/pfe_ethdev.c b/drivers/net/pfe/pfe_ethdev.c\nindex c2991ab1cc..0352a57950 100644\n--- a/drivers/net/pfe/pfe_ethdev.c\n+++ b/drivers/net/pfe/pfe_ethdev.c\n@@ -6,7 +6,7 @@\n #include <sys/epoll.h>\n #include <rte_kvargs.h>\n #include <ethdev_vdev.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_ether.h>\n #include <dpaa_of.h>\n \ndiff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c\nindex cfb81da5fe..37e7ccfda0 100644\n--- a/drivers/net/ring/rte_eth_ring.c\n+++ b/drivers/net/ring/rte_eth_ring.c\n@@ -8,7 +8,7 @@\n #include <rte_malloc.h>\n #include <rte_memcpy.h>\n #include <rte_string_fns.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_kvargs.h>\n #include <rte_errno.h>\n \ndiff --git a/drivers/net/softnic/rte_eth_softnic.c b/drivers/net/softnic/rte_eth_softnic.c\nindex 8c098cad5b..fa89940735 100644\n--- a/drivers/net/softnic/rte_eth_softnic.c\n+++ b/drivers/net/softnic/rte_eth_softnic.c\n@@ -9,7 +9,7 @@\n #include <ethdev_driver.h>\n #include <ethdev_vdev.h>\n #include <rte_malloc.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_kvargs.h>\n #include <rte_errno.h>\n #include <rte_ring.h>\ndiff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c\nindex 9e1032fe72..d047489e94 100644\n--- a/drivers/net/tap/rte_eth_tap.c\n+++ b/drivers/net/tap/rte_eth_tap.c\n@@ -10,7 +10,7 @@\n #include <ethdev_driver.h>\n #include <ethdev_vdev.h>\n #include <rte_malloc.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_kvargs.h>\n #include <rte_net.h>\n #include <rte_debug.h>\ndiff --git a/drivers/net/vdev_netvsc/vdev_netvsc.c b/drivers/net/vdev_netvsc/vdev_netvsc.c\nindex 2587195168..65043a04eb 100644\n--- a/drivers/net/vdev_netvsc/vdev_netvsc.c\n+++ b/drivers/net/vdev_netvsc/vdev_netvsc.c\n@@ -25,7 +25,7 @@\n \n #include <rte_alarm.h>\n #include <rte_bus.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_common.h>\n #include <rte_dev.h>\n #include <rte_errno.h>\ndiff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c\nindex 7e512d94bf..6c81967c6f 100644\n--- a/drivers/net/vhost/rte_eth_vhost.c\n+++ b/drivers/net/vhost/rte_eth_vhost.c\n@@ -13,7 +13,7 @@\n #include <rte_malloc.h>\n #include <rte_memcpy.h>\n #include <rte_net.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_kvargs.h>\n #include <rte_vhost.h>\n #include <rte_spinlock.h>\ndiff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c\nindex a7d7063c2a..3edfd7439e 100644\n--- a/drivers/net/virtio/virtio_user_ethdev.c\n+++ b/drivers/net/virtio/virtio_user_ethdev.c\n@@ -14,7 +14,7 @@\n #include <rte_malloc.h>\n #include <rte_kvargs.h>\n #include <ethdev_vdev.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_alarm.h>\n #include <rte_cycles.h>\n \ndiff --git a/drivers/raw/cnxk_gpio/cnxk_gpio.c b/drivers/raw/cnxk_gpio/cnxk_gpio.c\nindex d759ed82d4..e2907c18b5 100644\n--- a/drivers/raw/cnxk_gpio/cnxk_gpio.c\n+++ b/drivers/raw/cnxk_gpio/cnxk_gpio.c\n@@ -6,7 +6,7 @@\n #include <string.h>\n #include <sys/stat.h>\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_eal.h>\n #include <rte_kvargs.h>\n #include <rte_lcore.h>\ndiff --git a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c\nindex c7bddbc6cc..aeee4ac289 100644\n--- a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c\n+++ b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c\n@@ -6,7 +6,7 @@\n #include <errno.h>\n #include <stdint.h>\n \n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_atomic.h>\n #include <rte_interrupts.h>\n #include <rte_branch_prediction.h>\ndiff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c\nindex ec86bfdb0c..1020adcf6e 100644\n--- a/drivers/raw/ifpga/ifpga_rawdev.c\n+++ b/drivers/raw/ifpga/ifpga_rawdev.c\n@@ -26,7 +26,7 @@\n #include <rte_memzone.h>\n #include <rte_eal.h>\n #include <rte_common.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_string_fns.h>\n #include <rte_pmd_i40e.h>\n \ndiff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c\nindex 72d3b69d75..6831cc8d20 100644\n--- a/drivers/raw/skeleton/skeleton_rawdev.c\n+++ b/drivers/raw/skeleton/skeleton_rawdev.c\n@@ -21,7 +21,7 @@\n #include <rte_memory.h>\n #include <rte_memcpy.h>\n #include <rte_lcore.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #include <rte_rawdev.h>\n #include <rte_rawdev_pmd.h>\ndiff --git a/drivers/raw/skeleton/skeleton_rawdev_test.c b/drivers/raw/skeleton/skeleton_rawdev_test.c\nindex 693b24c415..fc257c5f44 100644\n--- a/drivers/raw/skeleton/skeleton_rawdev_test.c\n+++ b/drivers/raw/skeleton/skeleton_rawdev_test.c\n@@ -8,7 +8,7 @@\n #include <rte_memcpy.h>\n #include <rte_dev.h>\n #include <rte_rawdev.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <rte_test.h>\n \n /* Using relative path as skeleton_rawdev is not part of exported headers */\ndiff --git a/lib/ethdev/ethdev_vdev.h b/lib/ethdev/ethdev_vdev.h\nindex f5f536ce64..364f140f91 100644\n--- a/lib/ethdev/ethdev_vdev.h\n+++ b/lib/ethdev/ethdev_vdev.h\n@@ -12,7 +12,7 @@ extern \"C\" {\n \n #include <rte_config.h>\n #include <rte_malloc.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n #include <ethdev_driver.h>\n \n /**\ndiff --git a/lib/eventdev/eventdev_pmd_vdev.h b/lib/eventdev/eventdev_pmd_vdev.h\nindex 77904910a2..cf2333cf41 100644\n--- a/lib/eventdev/eventdev_pmd_vdev.h\n+++ b/lib/eventdev/eventdev_pmd_vdev.h\n@@ -22,7 +22,7 @@ extern \"C\" {\n #include <rte_config.h>\n #include <rte_debug.h>\n #include <rte_eal.h>\n-#include <rte_bus_vdev.h>\n+#include <bus_vdev_driver.h>\n \n #include \"eventdev_pmd.h\"\n \n",
    "prefixes": [
        "v5",
        "17/27"
    ]
}