get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 74785,
    "url": "http://patches.dpdk.org/api/patches/74785/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200724143906.7453-10-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": "<20200724143906.7453-10-parav@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200724143906.7453-10-parav@mellanox.com",
    "date": "2020-07-24T14:39:05",
    "name": "[v10,09/10] common/mlx5: register class drivers through common layer",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "d3b2dc6ccedaf60e899e014e4e1df50194a2a54e",
    "submitter": {
        "id": 1780,
        "url": "http://patches.dpdk.org/api/people/1780/?format=api",
        "name": "Parav Pandit",
        "email": "parav@mellanox.com"
    },
    "delegate": {
        "id": 3268,
        "url": "http://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200724143906.7453-10-parav@mellanox.com/mbox/",
    "series": [
        {
            "id": 11291,
            "url": "http://patches.dpdk.org/api/series/11291/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=11291",
            "date": "2020-07-24T14:38:56",
            "name": "Improve mlx5 PMD driver framework for multiple classes",
            "version": 10,
            "mbox": "http://patches.dpdk.org/series/11291/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/74785/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/74785/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 6C126A0527;\n\tFri, 24 Jul 2020 16:41:19 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 4C5581C11E;\n\tFri, 24 Jul 2020 16:39:47 +0200 (CEST)",
            "from EUR03-VE1-obe.outbound.protection.outlook.com\n (mail-eopbgr50059.outbound.protection.outlook.com [40.107.5.59])\n by dpdk.org (Postfix) with ESMTP id E200A1C044\n for <dev@dpdk.org>; Fri, 24 Jul 2020 16:39:42 +0200 (CEST)",
            "from AM0PR05MB4866.eurprd05.prod.outlook.com (2603:10a6:208:c0::32)\n by AM4PR05MB3204.eurprd05.prod.outlook.com (2603:10a6:205:3::33) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.23; Fri, 24 Jul\n 2020 14:39:42 +0000",
            "from AM0PR05MB4866.eurprd05.prod.outlook.com\n ([fe80::eccf:72b3:bacb:f09d]) by AM0PR05MB4866.eurprd05.prod.outlook.com\n ([fe80::eccf:72b3:bacb:f09d%5]) with mapi id 15.20.3216.024; Fri, 24 Jul 2020\n 14:39:42 +0000",
            "from sw-mtx-036.mtx.labs.mlnx (208.176.44.194) by\n SA9PR10CA0025.namprd10.prod.outlook.com (2603:10b6:806:a7::30) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.3216.23 via Frontend Transport; Fri, 24 Jul 2020 14:39:40 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=Qqbfe3rk1PMhhGrr3e3XQjf9IyH1/ZZ2hwvu4GX5Qlfi159yrujZGyvwX7jbOWAZvVtH39C8zDsF2HXLoIYHSArw271c+yIqTav8ZQWafM7Z1kJSklMW6WGUytAeIIhfT4E0D3KfHvscs+G/5s/9EeDazV3egJgA5Hmu9KiYCQxly6eDc4DDlwZIgDXyr2GJexTW86as015ZTahwEHTMckMczKWRiZB8diCEVviMjCm/R3x6FoWH0kWai7kTxo8CQuLF+ATQpbReptOh7prNwfmxAds+gl9Rbl16gfFuMnc1AAmndtncuNTfu9ZArleHGjNG8JMtGax84hUKpA1twQ==",
        "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=6a8Y5IQqOg3aKf1CtClIXrCRl+/ZAVv72JCRb4/ilAU=;\n b=WjBrA0bZwEPDyPrHvzJHsj+fletmrsUlUKU3sYn/Zgq8tg43zwevE3Kgh/et8tCpQFj3rXXUbV3eVxz5u1K3xznRvtrvcBrPWCF1k9uYc4TNMk/qfKJil61CwQBM5QN3hZqjInfRQgtQaHIFHrHNgCuTOl2T2l3JqlQ3KxZzLx2im/akGRDKuY0v1jr7KrZpUF9YARgDGJpSblzA6jJBHjXOoXUAeeXl4KQfW79Ax7Ucpvdmbr5yWLQtobJt36drDVX0J6Tif5KSFTNbhz2TOi72ukVVNhn3vzLh7SuJr52Op5o3l2D2OGPmtVrSfaJQFtuhsK3KYQEf3wHDW/O7LA==",
        "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=6a8Y5IQqOg3aKf1CtClIXrCRl+/ZAVv72JCRb4/ilAU=;\n b=lSvWi6oaX2AohxzOe8kzFEyTfwhmrs+8E7WLwFQgSw/6YCuv+X0OS4uVKfGwq75UjZU7coDGiVQplk6U+uMX6mX2EC7pwgPaH/Btq6E2e4k2FsptD4iZOiiIqpGGNdKF2AhKCitWS+fsMLrhh7V4jxunGRZ5YTh6mR51RyVQHak=",
        "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, grive@u256.net, ferruh.yigit@intel.com, thomas@monjalon.net",
        "Cc": "rasland@mellanox.com, orika@mellanox.com, matan@mellanox.com,\n joyce.kong@arm.com, Parav Pandit <parav@mellanox.com>",
        "Date": "Fri, 24 Jul 2020 17:39:05 +0300",
        "Message-Id": "<20200724143906.7453-10-parav@mellanox.com>",
        "X-Mailer": [
            "git-send-email 2.26.2",
            "git-send-email 2.26.2"
        ],
        "In-Reply-To": "<20200724143906.7453-1-parav@mellanox.com>",
        "References": "<20200610171728.89-2-parav@mellanox.com>\n <20200724143906.7453-1-parav@mellanox.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "SA9PR10CA0025.namprd10.prod.outlook.com\n (2603:10b6:806:a7::30) 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": "357b8ebd-8cc5-485c-8e5b-08d82fdf668b",
        "X-MS-TrafficTypeDiagnostic": "AM4PR05MB3204:",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtFwd,ExtAddr",
        "X-MS-Exchange-Transport-Forked": "True",
        "X-Microsoft-Antispam-PRVS": "\n <AM4PR05MB3204FF6A8A90F1D93FA9E2E3D1770@AM4PR05MB3204.eurprd05.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:262;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n eGaKrUZt28ysufkVrXBicd0KHkbfjfjbo5vz9jFSHrTZ9d5rVDgRuzx2xzJ8HHDkrJxsLp9i2CpanGNZf8cbYESXm8E/3k6bBMXsLzPZZMdNNUpSdwu5hrAfaXvhw++uvwgCRCzXj+lYhlOQFYLnGWQc4sxsnpNd3r2RU2Z9oSrNiBj8fnlPEogwFpgK0BHa0XSmEgBcc5vfmCch7pZENqO31+8cJNIN6v42p3+/0jPBhTx4tqfyTieKdTS3QpwnwjRqRYrk4w9bwC4ryO4E6Yf+lxxaAYJVZD7UWSep7uDvaE9/Kd864MDBxv5qiIBN",
        "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)(396003)(136003)(346002)(366004)(376002)(39860400002)(26005)(8936002)(36756003)(6506007)(316002)(956004)(52116002)(2616005)(6512007)(6666004)(8676002)(66946007)(4326008)(16526019)(2906002)(186003)(6486002)(5660300002)(478600001)(86362001)(83380400001)(1076003)(66556008)(107886003)(66476007);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData": "\n B6fpnXPGfXpL0mngg6crjEYTq+olpRs+pMyeIMJDzvqfboOhZCHigQa+AM/HYascqWDoisHPODLEI2+T0q5CbHRBoN+qz+CpvTmsQ4h/uFDe6kdTtlaOgAYgvjP4Y80lCMSjcvPPIC8QxLGtP4Z0sQJ91inUu9tPr/XXFYPe2w0onsULv6WBmGkNVU4sxIO/N6gOYWQYMPZ/LDEhiQIuMsYta67QBRRKuwP7V6C2o7QCZqmtX9DqQ5PMYX7EAciWLRWqbYxqTDOMufZVo1zKW39o9g+ALyKbDbQU2qmqfZBQwC6ooiBkNTc2PymAMvA29/tj3v4jJA4PQnjSljZzeWFDSVhFQqCNG73CG2Sbtb4svf+hyxjF2FwJd+jfQP0KJ4Xqz3k3DzRsWQ2NORolckWju039yYbNaO5wUlYFszLw6ncKqwSyWrDHq4eVa9PZbJn0tgT0KKxNgh0piP+/bZnzVvMyUpHmNbwB1ZeUXHkQWM69+Uf1JZYjdJJDqpe9",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 357b8ebd-8cc5-485c-8e5b-08d82fdf668b",
        "X-MS-Exchange-CrossTenant-AuthSource": "AM0PR05MB4866.eurprd05.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "24 Jul 2020 14:39:41.9348 (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 o6OfONv0jygoA9zfSqEd7H+5WIt9t7MxtOBL5DBC3+1docJ5DP6IhRhdmLKqYO4+ouO1/XqE+mb4t6SnAxhXLw==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM4PR05MB3204",
        "Subject": "[dpdk-dev] [PATCH v10 09/10] common/mlx5: register class drivers\n\tthrough common layer",
        "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": "Migrate mlx5 net, vdpa and regex 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:\nv8->v9:\n - Removed leftover inclusion of mlx5_pci bus include directory\n---\n drivers/common/mlx5/mlx5_common_pci.c |  6 ++----\n drivers/net/mlx5/Makefile             |  1 -\n drivers/net/mlx5/linux/mlx5_os.c      |  1 -\n drivers/net/mlx5/mlx5.c               | 24 ++++++++++++++----------\n drivers/net/mlx5/mlx5.h               |  1 -\n drivers/regex/mlx5/meson.build        |  2 +-\n drivers/regex/mlx5/mlx5_regex.c       | 21 ++++++++++++---------\n drivers/vdpa/mlx5/Makefile            |  2 +-\n drivers/vdpa/mlx5/meson.build         |  2 +-\n drivers/vdpa/mlx5/mlx5_vdpa.c         | 23 +++++++++++++----------\n 10 files changed, 44 insertions(+), 39 deletions(-)",
    "diff": "diff --git a/drivers/common/mlx5/mlx5_common_pci.c b/drivers/common/mlx5/mlx5_common_pci.c\nindex 1c778b72b..7bb5440c3 100644\n--- a/drivers/common/mlx5/mlx5_common_pci.c\n+++ b/drivers/common/mlx5/mlx5_common_pci.c\n@@ -34,10 +34,8 @@ static const unsigned int mlx5_class_combinations[] = {\n \tMLX5_CLASS_NET,\n \tMLX5_CLASS_VDPA,\n \tMLX5_CLASS_REGEX,\n-\t/* New class combination should be added here.\n-\t * For example a new multi class device combination\n-\t * can be MLX5_CLASS_FOO | MLX5_CLASS_BAR.\n-\t */\n+\tMLX5_CLASS_NET | MLX5_CLASS_REGEX,\n+\t/* New class combination should be added here. */\n };\n \n static int\ndiff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile\nindex 253faf909..568c77241 100644\n--- a/drivers/net/mlx5/Makefile\n+++ b/drivers/net/mlx5/Makefile\n@@ -55,7 +55,6 @@ LDLIBS += -lrte_common_mlx5\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 fa3b02787..97d7b0e7b 100644\n--- a/drivers/net/mlx5/linux/mlx5_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_os.c\n@@ -1537,7 +1537,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/mlx5.c b/drivers/net/mlx5/mlx5.c\nindex 037703d2e..1e4c695f8 100644\n--- a/drivers/net/mlx5/mlx5.c\n+++ b/drivers/net/mlx5/mlx5.c\n@@ -30,6 +30,7 @@\n #include <mlx5_common.h>\n #include <mlx5_common_os.h>\n #include <mlx5_common_mp.h>\n+#include <mlx5_common_pci.h>\n #include <mlx5_malloc.h>\n \n #include \"mlx5_defs.h\"\n@@ -2091,16 +2092,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 mlx5_pci_driver mlx5_driver = {\n+\t.driver_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 /* Initialize driver log type. */\n@@ -2117,7 +2121,7 @@ RTE_INIT(rte_mlx5_pmd_init)\n \tmlx5_set_cksum_table();\n \tmlx5_set_swp_types_table();\n \tif (mlx5_glue)\n-\t\trte_pci_register(&mlx5_driver);\n+\t\tmlx5_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 a92194d2d..78d6eb728 100644\n--- a/drivers/net/mlx5/mlx5.h\n+++ b/drivers/net/mlx5/mlx5.h\n@@ -119,7 +119,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/regex/mlx5/meson.build b/drivers/regex/mlx5/meson.build\nindex 7f800f2e3..d7cb2c572 100644\n--- a/drivers/regex/mlx5/meson.build\n+++ b/drivers/regex/mlx5/meson.build\n@@ -8,7 +8,7 @@ if not is_linux\n endif\n \n fmt_name = 'mlx5_regex'\n-deps += ['common_mlx5', 'bus_pci', 'eal', 'regexdev']\n+deps += ['common_mlx5', 'eal', 'regexdev']\n sources = files(\n \t'mlx5_regex.c',\n \t'mlx5_rxp.c',\ndiff --git a/drivers/regex/mlx5/mlx5_regex.c b/drivers/regex/mlx5/mlx5_regex.c\nindex 4e0367052..ae9f00189 100644\n--- a/drivers/regex/mlx5/mlx5_regex.c\n+++ b/drivers/regex/mlx5/mlx5_regex.c\n@@ -5,12 +5,12 @@\n #include <rte_malloc.h>\n #include <rte_log.h>\n #include <rte_errno.h>\n-#include <rte_bus_pci.h>\n #include <rte_pci.h>\n #include <rte_regexdev.h>\n #include <rte_regexdev_core.h>\n #include <rte_regexdev_driver.h>\n \n+#include <mlx5_common_pci.h>\n #include <mlx5_glue.h>\n #include <mlx5_devx_cmds.h>\n #include <mlx5_prm.h>\n@@ -246,21 +246,24 @@ static const struct rte_pci_id mlx5_regex_pci_id_map[] = {\n \t}\n };\n \n-static struct rte_pci_driver mlx5_regex_driver = {\n-\t.driver = {\n-\t\t.name = \"mlx5_regex\",\n+static struct mlx5_pci_driver mlx5_regex_driver = {\n+\t.driver_class = MLX5_CLASS_REGEX,\n+\t.pci_driver = {\n+\t\t.driver = {\n+\t\t\t.name = \"mlx5_regex\",\n+\t\t},\n+\t\t.id_table = mlx5_regex_pci_id_map,\n+\t\t.probe = mlx5_regex_pci_probe,\n+\t\t.remove = mlx5_regex_pci_remove,\n+\t\t.drv_flags = 0,\n \t},\n-\t.id_table = mlx5_regex_pci_id_map,\n-\t.probe = mlx5_regex_pci_probe,\n-\t.remove = mlx5_regex_pci_remove,\n-\t.drv_flags = 0,\n };\n \n RTE_INIT(rte_mlx5_regex_init)\n {\n \tmlx5_common_init();\n \tif (mlx5_glue)\n-\t\trte_pci_register(&mlx5_regex_driver);\n+\t\tmlx5_pci_driver_register(&mlx5_regex_driver);\n }\n \n RTE_LOG_REGISTER(mlx5_regex_logtype, pmd.regex.mlx5, NOTICE)\ndiff --git a/drivers/vdpa/mlx5/Makefile b/drivers/vdpa/mlx5/Makefile\nindex 8a1c2eab5..d46699fbc 100644\n--- a/drivers/vdpa/mlx5/Makefile\n+++ b/drivers/vdpa/mlx5/Makefile\n@@ -30,7 +30,7 @@ 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_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..254a8ec14 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', '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 85dbcf956..ffe2f00ac 100644\n--- a/drivers/vdpa/mlx5/mlx5_vdpa.c\n+++ b/drivers/vdpa/mlx5/mlx5_vdpa.c\n@@ -11,12 +11,12 @@\n #include <rte_malloc.h>\n #include <rte_log.h>\n #include <rte_errno.h>\n-#include <rte_bus_pci.h>\n #include <rte_pci.h>\n #include <rte_string_fns.h>\n \n #include <mlx5_glue.h>\n #include <mlx5_common.h>\n+#include <mlx5_common_pci.h>\n #include <mlx5_devx_cmds.h>\n #include <mlx5_prm.h>\n #include <mlx5_nl.h>\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 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 mlx5_pci_driver mlx5_vdpa_driver = {\n+\t.driver_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 RTE_LOG_REGISTER(mlx5_vdpa_logtype, pmd.vdpa.mlx5, NOTICE)\n@@ -848,7 +851,7 @@ RTE_INIT(rte_mlx5_vdpa_init)\n {\n \tmlx5_common_init();\n \tif (mlx5_glue)\n-\t\trte_pci_register(&mlx5_vdpa_driver);\n+\t\tmlx5_pci_driver_register(&mlx5_vdpa_driver);\n }\n \n RTE_PMD_EXPORT_NAME(net_mlx5_vdpa, __COUNTER__);\n",
    "prefixes": [
        "v10",
        "09/10"
    ]
}