get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 74699,
    "url": "https://patches.dpdk.org/api/patches/74699/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200723200910.376581-10-parav@mellanox.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<20200723200910.376581-10-parav@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200723200910.376581-10-parav@mellanox.com",
    "date": "2020-07-23T20:09:09",
    "name": "[v8,09/10] common/mlx5: register class drivers through common layer",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "f855b832a567b6043b76d74f2da91ff567c6c58f",
    "submitter": {
        "id": 1780,
        "url": "https://patches.dpdk.org/api/people/1780/?format=api",
        "name": "Parav Pandit",
        "email": "parav@mellanox.com"
    },
    "delegate": {
        "id": 3268,
        "url": "https://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200723200910.376581-10-parav@mellanox.com/mbox/",
    "series": [
        {
            "id": 11259,
            "url": "https://patches.dpdk.org/api/series/11259/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=11259",
            "date": "2020-07-23T20:09:00",
            "name": "Improve mlx5 PMD driver framework for multiple classes",
            "version": 8,
            "mbox": "https://patches.dpdk.org/series/11259/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/74699/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/74699/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 1B95BA0518;\n\tThu, 23 Jul 2020 22:11:10 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 77FA51C0B6;\n\tThu, 23 Jul 2020 22:09:52 +0200 (CEST)",
            "from EUR01-HE1-obe.outbound.protection.outlook.com\n (mail-eopbgr130059.outbound.protection.outlook.com [40.107.13.59])\n by dpdk.org (Postfix) with ESMTP id 87F411C07B\n for <dev@dpdk.org>; Thu, 23 Jul 2020 22:09:48 +0200 (CEST)",
            "from DB7PR05MB4876.eurprd05.prod.outlook.com (2603:10a6:10:1d::32)\n by DB7PR05MB5558.eurprd05.prod.outlook.com (2603:10a6:10:5c::21) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.20; Thu, 23 Jul\n 2020 20:09:46 +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.3216.022; Thu, 23 Jul 2020\n 20:09:46 +0000",
            "from sw-mtx-036.mtx.labs.mlnx (208.176.44.194) by\n DM6PR03CA0009.namprd03.prod.outlook.com (2603:10b6:5:40::22) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.3216.21 via Frontend Transport; Thu, 23 Jul 2020 20:09:44 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=aJN9ZiPxSgP0j/2O63DttjjbjXFrb0K56qy5xPOL5qmKqerRlXRgB0/Jf2RvdcqRO3Xh94V921+mGUkcL5PwvuGxaylLasWcDT/HI1Fpucn/s0AJr2Br7u/DrvqjZSci9vxqACOtPoQYYM6VP2eEqcfNEqxH2LTIviNDZPnabnU3MRy9sYA0uEP2risIBgnMiwzD94ltLctG9deVg9JiS/FAbWxWTrmAC5MzcCrbBKeBwz3mdO1raSpelASUnZ88v+ZjjmN9RIs27qkv4BMcI0bHL2vwsp+i83WCSiX7/k7hm3zcSiXF4ptxd1y7tnCVLDQdui7rn4YBMkFtelYisA==",
        "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=vLrSxmT5xWorrV5RyxNTSvE9IGBzBoraLUJ5ThEln/w=;\n b=c3rewZ91IY4FOLQK873rAJdkCfrPaqY9XeufVCiwZ0dvb6z3ltfFmW57DZnFDL2DiQ7VmNKCJtXOxIgc00qqkM4ctQG2dGqzVruvEWPyHki7531hSbPV6EsBoniBWEIqvug1eHrl5fReOgrcBX3TTP74YnD8HEeoXVqIDoQdr9xXgtL8MDOnhvV7x4cATnW5ce+nDlfCKSQBT4L6N7AqZgv1F8IJtzsHe8gIWAt0RQeruWloe1Ua6+DOnNTOYcljHTX3q0aJFIgCNaxDWyWzDsckZK3WXwLfptOTI5UJBDAn4+WnLQGMtPFJ7cmD2CKhgrdO/7S4iTsNIhjOVBKRww==",
        "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=vLrSxmT5xWorrV5RyxNTSvE9IGBzBoraLUJ5ThEln/w=;\n b=dMu+SVLtfnDt3zdEvKH/UmSFJsAN2IfdlR7RG+WQnd2kYVICaxd2J3qFtoHShsfGXkw3B8/At7vOkQVNXYO1HtoEAXPEOTT73sCRoYYdmYgneMZpDMuNytMWrWTcvFtZHzd06SMHqa55FgdU/fK2W61bsNDDdaDDvhszMKaantI=",
        "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": "Thu, 23 Jul 2020 23:09:09 +0300",
        "Message-Id": "<20200723200910.376581-10-parav@mellanox.com>",
        "X-Mailer": [
            "git-send-email 2.26.2",
            "git-send-email 2.26.2"
        ],
        "In-Reply-To": "<20200723200910.376581-1-parav@mellanox.com>",
        "References": "<20200610171728.89-2-parav@mellanox.com>\n <20200723200910.376581-1-parav@mellanox.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "DM6PR03CA0009.namprd03.prod.outlook.com\n (2603:10b6:5:40::22) To DB7PR05MB4876.eurprd05.prod.outlook.com\n (2603:10a6:10:1d::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": "e07fd763-1131-482a-2f15-08d82f445860",
        "X-MS-TrafficTypeDiagnostic": "DB7PR05MB5558:",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtFwd,ExtAddr",
        "X-MS-Exchange-Transport-Forked": "True",
        "X-Microsoft-Antispam-PRVS": "\n <DB7PR05MB55585F4CEB9883B3BC93D599D1760@DB7PR05MB5558.eurprd05.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:284;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n Rgd9i82qViOuGpJku8l/goMTpU7iIdR/E9zY3ZJew9NM8QhGoff4OsUuGLEO2Vg1kJXjgBmRlm3uCJsF5v1sd1jkcmpo45f0oWq4a7zY8VMEY4orLb0s74ppYiGtkSh7MdiDpVmJ8uteKt+gKo/0NF9muA2bSGpnckf30i52dbCtfkQYjDQXBULwNsvYLFWbKNcBDoW53u+x2/OUkfciuB4wa/2+q8MIlpEg8UHrHe0zN/eZUrp5fdltJwM7zGmBD2yLNbo/JWJxsSpwVeHqdKSXvZ3GbnDPcFe4KSUpE2Be+p4uQqHwJGufvUvS3WSWEVPifdUER4v28CMiuUJQ2A==",
        "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)(376002)(346002)(366004)(396003)(136003)(39860400002)(6506007)(8676002)(8936002)(26005)(52116002)(2906002)(4326008)(478600001)(66946007)(66476007)(66556008)(83380400001)(36756003)(5660300002)(2616005)(6486002)(86362001)(956004)(1076003)(6512007)(6666004)(107886003)(186003)(16526019)(316002);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData": "\n 5ew/t0kN5kJWVuqTjWgfSTgkZ9VmnpCpK3iHDYIJQe8cV8KfquMXCeIl2OdTsiwXQKnrLFiyZj6jlKVywADEhL8S19XJtGdvsdiG/eyNNBk2MP7w+ui6KmsoK5Pynk5aq8sSQDRJocZ8Q+I+WdzrnwU93fG1dxpRgFShtShctGAfDOO0a3rZ7kOOZGI0eri0bPYna+LKdvaB4D3Uf1NBLOsJ8WZU8NYLzO0kBOUjEyTS7m1tzokEqII9iHtOJO8MlngzECVTuMP+/W+VyxTSJM0v7qp9R48wvoyfOKDXKeAjM87Y8k2+eGlC/I1vxsFal2nRuwAK/2lsh0wbTHKtL8BuGEwvSx5S1h71kLgEJNKmABBiR1VT2XVWoXBOHW6K9LkLemdgK1j6t+tbFb++y9NesSP8ef2ImsXxJg/DNNTThbKWNXgNQ06iCJYNwxyNkZDE7PO7VRwGJfLA/TjFl1p62KizA7ALk6g4jXm67j+d6bRXYqHzlw83PnVIgqvc",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n e07fd763-1131-482a-2f15-08d82f445860",
        "X-MS-Exchange-CrossTenant-AuthSource": "DB7PR05MB4876.eurprd05.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "23 Jul 2020 20:09:46.4402 (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 jDxdOMUshTYb+h5jtc6qt1CIz6U7QUZHntv0W1Ys1vjJ/N46yaF8arFY6+/BMObUvNtE+SbN74ya5P2RcWqkYQ==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB7PR05MB5558",
        "Subject": "[dpdk-dev] [PATCH v8 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:\nv7->v8:\n - Extended support for newly added mlx5 regex driver\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            |  3 ++-\n drivers/vdpa/mlx5/meson.build         |  2 +-\n drivers/vdpa/mlx5/mlx5_vdpa.c         | 23 +++++++++++++----------\n 10 files changed, 45 insertions(+), 39 deletions(-)",
    "diff": "diff --git a/drivers/common/mlx5/mlx5_common_pci.c b/drivers/common/mlx5/mlx5_common_pci.c\nindex b42f7469f..08c8a5538 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..1cbbcecf8 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_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": [
        "v8",
        "09/10"
    ]
}