get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 72956,
    "url": "http://patches.dpdk.org/api/patches/72956/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200703091259.2108996-9-parav@mellanox.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": "<20200703091259.2108996-9-parav@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200703091259.2108996-9-parav@mellanox.com",
    "date": "2020-07-03T09:12:57",
    "name": "[v3,08/10] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "90b9141eb26fbf0c8eb016c5da5fed2c87e0938c",
    "submitter": {
        "id": 1780,
        "url": "http://patches.dpdk.org/api/people/1780/?format=api",
        "name": "Parav Pandit",
        "email": "parav@mellanox.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/20200703091259.2108996-9-parav@mellanox.com/mbox/",
    "series": [
        {
            "id": 10761,
            "url": "http://patches.dpdk.org/api/series/10761/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=10761",
            "date": "2020-07-03T09:12:49",
            "name": "Improve mlx5 PMD driver framework for multiple classes",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/10761/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/72956/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/72956/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E2D8BA0519;\n\tFri,  3 Jul 2020 11:14:50 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 79BF41DAEC;\n\tFri,  3 Jul 2020 11:13:37 +0200 (CEST)",
            "from EUR02-VE1-obe.outbound.protection.outlook.com\n (mail-eopbgr20074.outbound.protection.outlook.com [40.107.2.74])\n by dpdk.org (Postfix) with ESMTP id C660A1DAD0\n for <dev@dpdk.org>; Fri,  3 Jul 2020 11:13:35 +0200 (CEST)",
            "from AM0PR05MB4866.eurprd05.prod.outlook.com (2603:10a6:208:c0::32)\n by AM0PR05MB4628.eurprd05.prod.outlook.com (2603:10a6:208:ae::28)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.23; Fri, 3 Jul\n 2020 09:13:34 +0000",
            "from AM0PR05MB4866.eurprd05.prod.outlook.com\n ([fe80::d44d:a804:c730:d2b7]) by AM0PR05MB4866.eurprd05.prod.outlook.com\n ([fe80::d44d:a804:c730:d2b7%2]) with mapi id 15.20.3153.024; Fri, 3 Jul 2020\n 09:13:34 +0000",
            "from sw-mtx-036.mtx.labs.mlnx (208.176.44.194) by\n SN4PR0501CA0006.namprd05.prod.outlook.com (2603:10b6:803:40::19) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.8 via Frontend\n Transport; Fri, 3 Jul 2020 09:13:32 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=S9sQAGqzNhcuSN/dNccgHjj9AU9NFu8xbzoJErfrdAf+fZnJq7ABEjcsNUiiDP2igUfYFu+xtz6RRo0BFjuK5rOG+4l989i7EgwxPmlXbeg0KnPiYiFmcGdxklWTVgWxVS+4EpbyL22E35588bCugzT/hd5XUjS3KJ/L63tcmx0qoWgDFAQejBaNhdnWvFGleVNewQ168iG+LZQRMnYdHv1lApDLz6I8bVMSYdVrB22sOL1+IDJ+xwkhx8Jl4Jcy1UhePThKF+SbDbPw2ZkBJyrS89g0+RyKvuSTPxs/iFhEo773cDohj5LEVVG9OGLp64Aqo53zeyhvCb1gWgj7Ig==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=9XJxAplkX0nRzB7KpaFVxDQybG4bmrr+Dfz0QIdG96A=;\n b=JNpHBWcsg4HH3nuE+i64FLuZtA0WtwrmO1Bu1yJhyTncGyJEfRDaIXkFWqUcwdEDXikl53flZSfyd+FsXmNX1pwJCI2GwpZhoWuL1BZmwtf7vhdY2H/35abir8+Vv7RMvODH1eAHTU2JnR/tK9LDyM/9jxPBlkYSue01k0U0FhJ3hsOx13eiJ1VIOToKv49jHQ8n5cdSeAXBRNk5bP/4tmm8wLGUOneqaCbKV+6zZ8Wkm5y6wlIjfavurVcg8Tn5S0Y/HKoNNQV6gSUaEzuUwF+aIbL/Ufk+fHEC9vlCrW3N5bqsRfCErZOCDVxeIYkSs61SB3u1kO+iPVWhTHftew==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;\n dkim=pass header.d=mellanox.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=9XJxAplkX0nRzB7KpaFVxDQybG4bmrr+Dfz0QIdG96A=;\n b=ncgt0f6V8C2k9fxFhaFMrluwRZbjpCK0D40jMzJDfZDXuWNbjNZG729cOMeaGl7OpNZzLGHqRdmzFye29Y+X7gS8Wz9d8DQUAN9jxKguqTink1BjuQnd/Kr7/3l8iF0HDYMhydOWFP79S4munSYO1UQYvMAZ1fC/bzvY9g4hhrE=",
        "Authentication-Results": "dpdk.org; dkim=none (message not signed)\n header.d=none;dpdk.org; dmarc=none action=none header.from=mellanox.com;",
        "From": "Parav Pandit <parav@mellanox.com>",
        "To": "dev@dpdk.org,\n\tgrive@u256.net,\n\tferruh.yigit@intel.com",
        "Cc": "thomas@monjalon.net, orika@mellanox.com, matan@mellanox.com,\n Parav Pandit <parav@mellanox.com>",
        "Date": "Fri,  3 Jul 2020 12:12:57 +0300",
        "Message-Id": "<20200703091259.2108996-9-parav@mellanox.com>",
        "X-Mailer": [
            "git-send-email 2.26.2",
            "git-send-email 2.26.2"
        ],
        "In-Reply-To": "<20200703091259.2108996-1-parav@mellanox.com>",
        "References": "<20200610171728.89-2-parav@mellanox.com>\n <20200703091259.2108996-1-parav@mellanox.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "SN4PR0501CA0006.namprd05.prod.outlook.com\n (2603:10b6:803:40::19) To AM0PR05MB4866.eurprd05.prod.outlook.com\n (2603:10a6:208:c0::32)",
        "MIME-Version": "1.0",
        "X-MS-Exchange-MessageSentRepresentingType": "1",
        "X-Originating-IP": "[208.176.44.194]",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-MS-Office365-Filtering-Correlation-Id": "a2b6a65f-8ffa-484e-0b2a-08d81f315c7f",
        "X-MS-TrafficTypeDiagnostic": "AM0PR05MB4628:",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr",
        "X-MS-Exchange-Transport-Forked": "True",
        "X-Microsoft-Antispam-PRVS": "\n <AM0PR05MB46288BD4CB587E29E57E8B9AD16A0@AM0PR05MB4628.eurprd05.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:655;",
        "X-Forefront-PRVS": "045315E1EE",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n kp6KEZFRpS3VU+jd+vGt1YwL8vr6tcDwKHADWzajBOZYeAkkIWz78CxEvGs+enoPFzKF/jDbmDy7vb5XjoCMPAwYiWTeeZnkbN4px8L3yGaq1uE7TZUuG0GtMJRXRNfyff0XvU2de5amPFF7rw/ONY+kEHXTSpputdQfs9kJwaTHXQXVLhe9KTwl4lxMesBoDQg40iWkSJ5Tiq+5ct/wJOo19KxuA7xKcQdpXyZqZujVmG9TjBL0Vg+3Z3QFSQSEOwiiTVPQtSUOvUxeEuxk4CMJXko5zGoepZVLZSTwiHQj8/jbLi6/2jEoa52pDfs0iCdFXXiYELabi3F+KSGcVA==",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:AM0PR05MB4866.eurprd05.prod.outlook.com; PTR:; CAT:NONE;\n SFTY:;\n SFS:(4636009)(39860400002)(366004)(376002)(396003)(346002)(136003)(6506007)(316002)(5660300002)(2906002)(16526019)(478600001)(186003)(66946007)(26005)(6486002)(956004)(36756003)(66476007)(66556008)(83380400001)(1076003)(4326008)(2616005)(107886003)(6666004)(8936002)(6512007)(8676002)(86362001)(52116002);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData": "\n 4tNEgNZfBzExgbafmZ6oc4OsnE3W6A5uA7dVHit0IH+Y77Lt0lo9Uxn/D9OgWhHWXvQ/MUHoUm/LEwfz5U408sM+aPv6nlezLCXVfCqrdG7nmTQ5ZlyvdXpaY73ozkBgjkOGMRXS3NqAPLxZj31aDI5HPxV3HBfhkmF9APxLBiSV6ukmDPI9EeQiHOfgECkvq10slSJ0wuguhXx1/SQq4pkJHaU06TFgHLXelWJucXIzgM5PJ4bB+58I2iSoAUepHVjVcRY2SnS+6vZTsFSf2f51rgos1dQr7HlyWzSIzJL6uIJ4AL6q/nb/FVTQQYBoPMovevdvUwBPJ3T7uo+L9Uz43sNu7TC40oxywza7RyCLHS5w0bHY4yb65dedxOG2xMX2a6kPE/cUDm3iQ9lQICrWFJUd03DLDtSeWUlCbVNlnsQIFaP6WLG5ZMIr5TspBVVDMZW7ZpDlCxYhUzABs7785HkRA9zi6XeCeVVXMcopapUZCy5C/qipxJ1OFpVG",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n a2b6a65f-8ffa-484e-0b2a-08d81f315c7f",
        "X-MS-Exchange-CrossTenant-AuthSource": "AM0PR05MB4866.eurprd05.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Jul 2020 09:13:34.3640 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "a652971c-7d2e-4d9b-a6a4-d149256f461b",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n eb2KcyhtBPpRn6gB03TDblImR/prPn7iD8F0rMNwUetx+LsLcOHuobYTQOQOSX05gVwBFLUgaXsNI3lupLBR4g==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM0PR05MB4628",
        "Subject": "[dpdk-dev] [PATCH v3 08/10] bus/mlx5_pci: enable net and vDPA to\n\tuse mlx5 PCI bus driver",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Enable class driver to match with the mlx5 pci devices.\nMigrate mlx5 net PMD and vdpa PMD to start using mlx5 common class\ndriver.\n\nSigned-off-by: Parav Pandit <parav@mellanox.com>\nAcked-by: Matan Azrad <matan@mellanox.com>\n---\nChangelog:\nv2->v3:\n - Avoid static table\nv1->v2:\n - Migreate API from rte_driver to rte_pci_driver\n---\n drivers/bus/Makefile             |  3 +++\n drivers/net/mlx5/Makefile        |  3 ++-\n drivers/net/mlx5/linux/mlx5_os.c |  1 -\n drivers/net/mlx5/linux/mlx5_os.h |  1 +\n drivers/net/mlx5/meson.build     |  2 +-\n drivers/net/mlx5/mlx5.c          | 24 ++++++++++++++----------\n drivers/net/mlx5/mlx5.h          |  1 -\n drivers/vdpa/mlx5/Makefile       |  3 ++-\n drivers/vdpa/mlx5/meson.build    |  2 +-\n drivers/vdpa/mlx5/mlx5_vdpa.c    | 23 +++++++++++++----------\n mk/rte.app.mk                    |  1 +\n 11 files changed, 38 insertions(+), 26 deletions(-)",
    "diff": "diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile\nindex cea3b55e6..f96caa5ec 100644\n--- a/drivers/bus/Makefile\n+++ b/drivers/bus/Makefile\n@@ -9,6 +9,9 @@ DIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc\n endif\n DIRS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga\n DIRS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci\n+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)\n+DIRS-y += mlx5_pci\n+endif\n DIRS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += vdev\n DIRS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus\n \ndiff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile\nindex a458402dc..1cea7cd07 100644\n--- a/drivers/net/mlx5/Makefile\n+++ b/drivers/net/mlx5/Makefile\n@@ -45,16 +45,17 @@ CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux\n CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5\n CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5/linux\n CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5\n+CFLAGS += -I$(RTE_SDK)/drivers/bus/mlx5_pci\n CFLAGS += -D_BSD_SOURCE\n CFLAGS += -D_DEFAULT_SOURCE\n CFLAGS += -D_XOPEN_SOURCE=600\n CFLAGS += $(WERROR_FLAGS)\n CFLAGS += -Wno-strict-prototypes\n LDLIBS += -lrte_common_mlx5\n+LDLIBS += -lrte_bus_mlx5_pci\n LDLIBS += -lm\n LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring\n LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs\n-LDLIBS += -lrte_bus_pci\n \n # A few warnings cannot be avoided in external headers.\n CFLAGS += -Wno-error=cast-qual\ndiff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c\nindex 2dc57b20e..b6042b7ef 100644\n--- a/drivers/net/mlx5/linux/mlx5_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_os.c\n@@ -1321,7 +1321,6 @@ mlx5_os_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,\n \t\t\tstrerror(rte_errno));\n \t\treturn -rte_errno;\n \t}\n-\tMLX5_ASSERT(pci_drv == &mlx5_driver);\n \terrno = 0;\n \tibv_list = mlx5_glue->get_device_list(&ret);\n \tif (!ibv_list) {\ndiff --git a/drivers/net/mlx5/linux/mlx5_os.h b/drivers/net/mlx5/linux/mlx5_os.h\nindex 31add3988..695722520 100644\n--- a/drivers/net/mlx5/linux/mlx5_os.h\n+++ b/drivers/net/mlx5/linux/mlx5_os.h\n@@ -15,4 +15,5 @@ enum {\n #define PCI_DRV_FLAGS  (RTE_PCI_DRV_INTR_LSC | \\\n \t\t\tRTE_PCI_DRV_INTR_RMV | \\\n \t\t\tRTE_PCI_DRV_PROBE_AGAIN)\n+\n #endif /* RTE_PMD_MLX5_OS_H_ */\ndiff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build\nindex e95ce0267..26699a79b 100644\n--- a/drivers/net/mlx5/meson.build\n+++ b/drivers/net/mlx5/meson.build\n@@ -8,7 +8,7 @@ if not (is_linux or is_windows)\n \tsubdir_done()\n endif\n \n-deps += ['hash', 'common_mlx5']\n+deps += ['hash', 'common_mlx5', 'bus_mlx5_pci']\n sources = files(\n \t'mlx5.c',\n \t'mlx5_ethdev.c',\ndiff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c\nindex bb10c63bb..2270055fe 100644\n--- a/drivers/net/mlx5/mlx5.c\n+++ b/drivers/net/mlx5/mlx5.c\n@@ -34,6 +34,7 @@\n #include <rte_spinlock.h>\n #include <rte_string_fns.h>\n #include <rte_alarm.h>\n+#include <rte_bus_mlx5_pci.h>\n \n #include <mlx5_glue.h>\n #include <mlx5_devx_cmds.h>\n@@ -1892,16 +1893,19 @@ static const struct rte_pci_id mlx5_pci_id_map[] = {\n \t}\n };\n \n-struct rte_pci_driver mlx5_driver = {\n-\t.driver = {\n-\t\t.name = MLX5_DRIVER_NAME\n+static struct rte_mlx5_pci_driver mlx5_driver = {\n+\t.dev_class = MLX5_CLASS_NET,\n+\t.pci_driver = {\n+\t\t.driver = {\n+\t\t\t.name = MLX5_DRIVER_NAME,\n+\t\t},\n+\t\t.id_table = mlx5_pci_id_map,\n+\t\t.probe = mlx5_os_pci_probe,\n+\t\t.remove = mlx5_pci_remove,\n+\t\t.dma_map = mlx5_dma_map,\n+\t\t.dma_unmap = mlx5_dma_unmap,\n+\t\t.drv_flags = PCI_DRV_FLAGS,\n \t},\n-\t.id_table = mlx5_pci_id_map,\n-\t.probe = mlx5_os_pci_probe,\n-\t.remove = mlx5_pci_remove,\n-\t.dma_map = mlx5_dma_map,\n-\t.dma_unmap = mlx5_dma_unmap,\n-\t.drv_flags = PCI_DRV_FLAGS,\n };\n \n /**\n@@ -1919,7 +1923,7 @@ RTE_INIT_PRIO(rte_mlx5_pmd_init, CLASS)\n \tmlx5_set_cksum_table();\n \tmlx5_set_swp_types_table();\n \tif (mlx5_glue)\n-\t\trte_pci_register(&mlx5_driver);\n+\t\trte_mlx5_pci_driver_register(&mlx5_driver);\n }\n \n RTE_PMD_EXPORT_NAME(net_mlx5, __COUNTER__);\ndiff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h\nindex 46e66eb1c..df7b5eb87 100644\n--- a/drivers/net/mlx5/mlx5.h\n+++ b/drivers/net/mlx5/mlx5.h\n@@ -129,7 +129,6 @@ struct mlx5_local_data {\n };\n \n extern struct mlx5_shared_data *mlx5_shared_data;\n-extern struct rte_pci_driver mlx5_driver;\n \n /* Dev ops structs */\n extern const struct eth_dev_ops mlx5_os_dev_ops;\ndiff --git a/drivers/vdpa/mlx5/Makefile b/drivers/vdpa/mlx5/Makefile\nindex 8a1c2eab5..9bb5dfdbf 100644\n--- a/drivers/vdpa/mlx5/Makefile\n+++ b/drivers/vdpa/mlx5/Makefile\n@@ -24,13 +24,14 @@ CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux\n CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5_vdpa\n CFLAGS += -I$(RTE_SDK)/lib/librte_sched\n CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5\n+CFLAGS += -I$(RTE_SDK)/drivers/bus/mlx5_pci\n CFLAGS += -D_BSD_SOURCE\n CFLAGS += -D_DEFAULT_SOURCE\n CFLAGS += -D_XOPEN_SOURCE=600\n CFLAGS += $(WERROR_FLAGS)\n CFLAGS += -Wno-strict-prototypes\n LDLIBS += -lrte_common_mlx5\n-LDLIBS += -lrte_eal -lrte_vhost -lrte_kvargs -lrte_pci -lrte_bus_pci -lrte_sched\n+LDLIBS += -lrte_eal -lrte_vhost -lrte_kvargs -lrte_pci -lrte_bus_mlx5_pci -lrte_sched\n LDLIBS += -pthread\n \n # A few warnings cannot be avoided in external headers.\ndiff --git a/drivers/vdpa/mlx5/meson.build b/drivers/vdpa/mlx5/meson.build\nindex 2963aad71..f4175c34e 100644\n--- a/drivers/vdpa/mlx5/meson.build\n+++ b/drivers/vdpa/mlx5/meson.build\n@@ -8,7 +8,7 @@ if not is_linux\n endif\n \n fmt_name = 'mlx5_vdpa'\n-deps += ['hash', 'common_mlx5', 'vhost', 'pci', 'bus_pci', 'eal', 'sched']\n+deps += ['hash', 'common_mlx5', 'vhost', 'pci', 'bus_mlx5_pci', 'eal', 'sched']\n sources = files(\n \t'mlx5_vdpa.c',\n \t'mlx5_vdpa_mem.c',\ndiff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c\nindex f043166ef..09c9cb935 100644\n--- a/drivers/vdpa/mlx5/mlx5_vdpa.c\n+++ b/drivers/vdpa/mlx5/mlx5_vdpa.c\n@@ -11,7 +11,7 @@\n #include <rte_malloc.h>\n #include <rte_log.h>\n #include <rte_errno.h>\n-#include <rte_bus_pci.h>\n+#include <rte_bus_mlx5_pci.h>\n #include <rte_pci.h>\n #include <rte_string_fns.h>\n \n@@ -657,7 +657,7 @@ mlx5_vdpa_config_get(struct rte_devargs *devargs, struct mlx5_vdpa_priv *priv)\n }\n \n /**\n- * DPDK callback to register a PCI device.\n+ * DPDK callback to register a mlx5 PCI bus device.\n  *\n  * This function spawns vdpa device out of a given PCI device.\n  *\n@@ -829,14 +829,17 @@ static const struct rte_pci_id mlx5_vdpa_pci_id_map[] = {\n \t}\n };\n \n-static struct rte_pci_driver mlx5_vdpa_driver = {\n-\t.driver = {\n-\t\t.name = \"mlx5_vdpa\",\n+static struct rte_mlx5_pci_driver mlx5_vdpa_driver = {\n+\t.dev_class = MLX5_CLASS_VDPA,\n+\t.pci_driver = {\n+\t\t.driver = {\n+\t\t\t.name = \"mlx5_vdpa\",\n+\t\t},\n+\t\t.id_table = mlx5_vdpa_pci_id_map,\n+\t\t.probe = mlx5_vdpa_pci_probe,\n+\t\t.remove = mlx5_vdpa_pci_remove,\n+\t\t.drv_flags = 0,\n \t},\n-\t.id_table = mlx5_vdpa_pci_id_map,\n-\t.probe = mlx5_vdpa_pci_probe,\n-\t.remove = mlx5_vdpa_pci_remove,\n-\t.drv_flags = 0,\n };\n \n /**\n@@ -849,7 +852,7 @@ RTE_INIT_PRIO(rte_mlx5_vdpa_init, CLASS)\n \tif (mlx5_vdpa_logtype >= 0)\n \t\trte_log_set_level(mlx5_vdpa_logtype, RTE_LOG_NOTICE);\n \tif (mlx5_glue)\n-\t\trte_pci_register(&mlx5_vdpa_driver);\n+\t\trte_mlx5_pci_driver_register(&mlx5_vdpa_driver);\n }\n \n RTE_PMD_EXPORT_NAME(net_mlx5_vdpa, __COUNTER__);\ndiff --git a/mk/rte.app.mk b/mk/rte.app.mk\nindex 0ce8cf541..d7c1d90e4 100644\n--- a/mk/rte.app.mk\n+++ b/mk/rte.app.mk\n@@ -203,6 +203,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF)      += -lrte_pmd_memif\n _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -lrte_pmd_mlx4\n ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)\n _LDLIBS-y                                   += -lrte_common_mlx5\n+_LDLIBS-y                                   += -lrte_bus_mlx5_pci\n endif\n _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD)       += -lrte_pmd_mlx5\n _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)  += -lrte_pmd_mlx5_vdpa\n",
    "prefixes": [
        "v3",
        "08/10"
    ]
}