Show a patch.

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

{
    "id": 73590,
    "url": "https://patches.dpdk.org/api/patches/73590/",
    "web_url": "https://patches.dpdk.org/patch/73590/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/",
        "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"
    },
    "msgid": "<20200709073452.948894-9-parav@mellanox.com>",
    "date": "2020-07-09T07:34:51",
    "name": "[v5,8/9] 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": "https://patches.dpdk.org/api/people/1780/",
        "name": "Parav Pandit",
        "email": "parav@mellanox.com"
    },
    "delegate": {
        "id": 3268,
        "url": "https://patches.dpdk.org/api/users/3268/",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@mellanox.com"
    },
    "mbox": "https://patches.dpdk.org/patch/73590/mbox/",
    "series": [
        {
            "id": 10912,
            "url": "https://patches.dpdk.org/api/series/10912/",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=10912",
            "date": "2020-07-09T07:34:43",
            "name": "Improve mlx5 PMD driver framework for multiple classes",
            "version": 5,
            "mbox": "https://patches.dpdk.org/series/10912/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/73590/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/73590/checks/",
    "tags": {},
    "headers": {
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-BeenThere": "dev@dpdk.org",
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=HRmum0csAG8j7WEyzDQzQz+4uD0bCw/wjgCcRbgruGvQCV52gIOHm/mOQFIFcK79lA7WXMLIZCmOni48XmU2D6dBiZXSmmINMvddDkFbFx+VdggSCX041ge8fEW7XWU2dIiszfjd/wRwcqo2etad2I1N7wUYo1+vYh8Xs8XfwM0Fe6GqPPjnzNuG0RllGCTd/UngPKrmBSJY6e054e4IVijBPTNloRfD+5PWSnYQsRgHdDbbh4oGRuE/9t8IZuFbno9OFaQVm99uwNJjNma8phqkft3Bb8shAKkl4B+Av/JaTQtFWLeUZZtabnXXVUPm4g9JcUxJaofFIfy8GOYE2g==",
        "X-Mailer": [
            "git-send-email 2.26.2",
            "git-send-email 2.26.2"
        ],
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n 16u143gCu4asWDAB+WUojhqWkKkxCNmkBkFrt08FEX7UhELPdDmf4CVxnnMO6PYmTcEeowvC4+1LlwUQkAvh3w==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB7PR05MB5084",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E8BEEA0526;\n\tThu,  9 Jul 2020 09:36:53 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 736D01DD7F;\n\tThu,  9 Jul 2020 09:36:10 +0200 (CEST)",
            "from EUR01-DB5-obe.outbound.protection.outlook.com\n (mail-eopbgr150058.outbound.protection.outlook.com [40.107.15.58])\n by dpdk.org (Postfix) with ESMTP id 949181DD7F\n for <dev@dpdk.org>; Thu,  9 Jul 2020 09:36:09 +0200 (CEST)",
            "from DB7PR05MB4876.eurprd05.prod.outlook.com (2603:10a6:10:1d::32)\n by DB7PR05MB5084.eurprd05.prod.outlook.com (2603:10a6:10:15::15) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.28; Thu, 9 Jul\n 2020 07:36:08 +0000",
            "from DB7PR05MB4876.eurprd05.prod.outlook.com\n ([fe80::8cb3:93cb:c3ef:4293]) by DB7PR05MB4876.eurprd05.prod.outlook.com\n ([fe80::8cb3:93cb:c3ef:4293%5]) with mapi id 15.20.3174.022; Thu, 9 Jul 2020\n 07:36:08 +0000",
            "from sw-mtx-036.mtx.labs.mlnx (208.176.44.194) by\n SN4PR0501CA0104.namprd05.prod.outlook.com (2603:10b6:803:42::21) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.9 via Frontend\n Transport; Thu, 9 Jul 2020 07:36:03 +0000"
        ],
        "Authentication-Results": "dpdk.org; dkim=none (message not signed)\n header.d=none;dpdk.org; dmarc=none action=none header.from=mellanox.com;",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-SenderADCheck": "1",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Exchange-Transport-Forked": "True",
        "X-MS-Exchange-AntiSpam-MessageData": "\n NKdvtOxk5wpUFi+wFIDu+WoRgAhd4h1x9i4OwXKfEWRXfArmT4YzxHfNhOeXQOfMpLmn4owHvVGMVPT0YvYaKaJK6jHUBQ1kXDXgfBlwdPQb+EwR1MlOopLfJ/ULyh69MtZF8s+fykTV9LSiEuMNPIWaVcrBeczEw6kMD3zqJ7J3JeljMHp915NAVN5Kyk9QqjDiy9UMF0kvLS9PJ8wuzblEdf+m5dknHcrz4kAGcpHXg/I25niwhqPZ45YgZydba5fKMNpN1GTl/7EBHcdz+/pRPIwxp0OfJprv2PNALXqIg6vA2Q5vwWjipd4GrYofLNHBszxGcXzSab/kEU/Vx9t/BxIbdbVthDe4AMnHo4lx61RCLAaL3pwlWOoGTn0MgbFlO/muqUoqmCWwj3ATqAScD54kW4Ha5Q5esblHA+STyA6ob7DZD5F7rijFU0vOFRZ9H17bkuESmlNqEiun2GuSikZo/uxer5aJ4lxGkUHnSGIsgSFtRaX2q3QLa82c",
        "In-Reply-To": "<20200709073452.948894-1-parav@mellanox.com>",
        "X-MS-Exchange-MessageSentRepresentingType": "1",
        "MIME-Version": "1.0",
        "X-MS-TrafficTypeDiagnostic": "DB7PR05MB5084:",
        "X-Microsoft-Antispam-PRVS": "\n <DB7PR05MB5084070CC19CE0A6F0D28A93D1640@DB7PR05MB5084.eurprd05.prod.outlook.com>",
        "References": "<20200610171728.89-2-parav@mellanox.com>\n <20200709073452.948894-1-parav@mellanox.com>",
        "X-MS-Exchange-CrossTenant-AuthSource": "DB7PR05MB4876.eurprd05.prod.outlook.com",
        "Content-Type": "text/plain",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 8f2c867b-c0d6-4806-e832-08d823dabc93",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "09 Jul 2020 07:36:08.4515 (UTC)",
        "X-ClientProxiedBy": "SN4PR0501CA0104.namprd05.prod.outlook.com\n (2603:10b6:803:42::21) To DB7PR05MB4876.eurprd05.prod.outlook.com\n (2603:10a6:10:1d::32)",
        "X-MS-Office365-Filtering-Correlation-Id": "8f2c867b-c0d6-4806-e832-08d823dabc93",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "Message-Id": "<20200709073452.948894-9-parav@mellanox.com>",
        "To": "dev@dpdk.org, grive@u256.net, ferruh.yigit@intel.com, thomas@monjalon.net",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtFwd,ExtAddr",
        "X-Forefront-PRVS": "04599F3534",
        "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=LNTu9QdGTiWyRNFZpHOemPYM428M21JVoGUqLzrsGu49Z93TPccl5oyR9PFb3GFvSLNH9bpi1JtYbrIIeFALVo+8r1sAjsaSwR7wETrAZ93IucO19x8o+2HyWTgJV2toapBMywYslcNDAhv/a54nCiS6fhyfaUzMiwjL++4rIk4=",
        "List-Post": "<mailto:dev@dpdk.org>",
        "X-Mailman-Version": "2.1.15",
        "X-Microsoft-Antispam-Message-Info": "\n RL4Xh39w7jqkx6CwhsB4bRdwPpnF1kjsmSt1+ctk6FEd6lQPj+qL1AwP2AvEyLJ3+zHYHKrkAq6/eONyex4agmneOEAN7N37TH5+z5m7MPvXvxsrnr4+Crwa52MGjWiSWGH2no1o0E37efYXMrY+yQsNU/LdY3XxGrTZZxE7reHYpRWMcXHzBOdM+r3G7re6eAhQZqLlgpXqbVBTpQFqlm7PWkskYDc9I17gAVRQi8CgSrnGD1AcM6dD0fsHgLztOJ4FR80e2v6rLyoareJKaU2E79thuXnYk/6cTV/96CCcbizGgE6US1iZQTi/x5tsaOlpdCQSYZmZ58pGp0r1aQ==",
        "Subject": "[dpdk-dev] [PATCH v5 8/9] bus/mlx5_pci: enable net and vDPA to use\n\tmlx5 PCI bus driver",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:655;",
        "X-OriginatorOrg": "Mellanox.com",
        "X-Microsoft-Antispam": "BCL:0;",
        "Cc": "rasland@mellanox.com, orika@mellanox.com, matan@mellanox.com,\n joyce.kong@arm.com, Parav Pandit <parav@mellanox.com>",
        "Precedence": "list",
        "From": "Parav Pandit <parav@mellanox.com>",
        "Content-Transfer-Encoding": "8bit",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:DB7PR05MB4876.eurprd05.prod.outlook.com; PTR:; CAT:NONE;\n SFTY:;\n SFS:(4636009)(396003)(366004)(136003)(39860400002)(346002)(376002)(2906002)(16526019)(186003)(26005)(6506007)(6512007)(52116002)(107886003)(5660300002)(1076003)(6666004)(4326008)(316002)(83380400001)(36756003)(478600001)(86362001)(6486002)(66556008)(66476007)(956004)(2616005)(8936002)(8676002)(66946007);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "a652971c-7d2e-4d9b-a6a4-d149256f461b",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>",
        "Errors-To": "dev-bounces@dpdk.org",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Date": "Thu,  9 Jul 2020 10:34:51 +0300",
        "X-Originating-IP": "[208.176.44.194]",
        "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",
        "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=OqAIa1F6tPLOiuu34S7eJVDQgnD5uICmBO9J1yPMOKPVfZFfs311VntK90hSXtjPM8jLcxAmS4vbr7mO/yN5NjDNlgEmHvKCzoPbnjllpjOt3nB4edSLKTjmc+xSnGtliw2LPNV/PWmfcxLcXfOFHeTy6UHYYCaZG6phdgcx6iCFtXGhvMthY2xDxWCUxG0eyHjWRhvNANg9LQs3dcviDiEczC1w2cAklurpkJDoDjAk1lrHs1KzudfUq4IwGpPNYGRcbVNjCix2q90g9OIgKg4Fz+TOflpOJfVVm/p4KpPe8UAjwlJDxUflZj2ArPF5ZPU01RTVyyC/HyoCCAp8Ow==",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>"
    },
    "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": [
        "v5",
        "8/9"
    ]
}