From patchwork Tue Sep 20 12:41:33 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shreyansh Jain X-Patchwork-Id: 15982 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 071887F14; Tue, 20 Sep 2016 14:43:12 +0200 (CEST) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0074.outbound.protection.outlook.com [104.47.33.74]) by dpdk.org (Postfix) with ESMTP id CE76C91B2 for ; Tue, 20 Sep 2016 14:43:07 +0200 (CEST) Received: from BN3PR0301CA0036.namprd03.prod.outlook.com (10.160.180.174) by BLUPR0301MB2003.namprd03.prod.outlook.com (10.164.22.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.629.8; Tue, 20 Sep 2016 12:43:06 +0000 Received: from BL2FFO11FD038.protection.gbl (2a01:111:f400:7c09::144) by BN3PR0301CA0036.outlook.office365.com (2a01:111:e400:4000::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.629.8 via Frontend Transport; Tue, 20 Sep 2016 12:43:06 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD038.mail.protection.outlook.com (10.173.161.134) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.629.5 via Frontend Transport; Tue, 20 Sep 2016 12:43:06 +0000 Received: from Tophie.ap.freescale.net ([10.232.14.87]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u8KCexsn006559; Tue, 20 Sep 2016 05:43:03 -0700 From: Shreyansh Jain To: CC: , David Marchand , , Thomas Monjalon , Shreyansh Jain Date: Tue, 20 Sep 2016 18:11:33 +0530 Message-ID: <1474375296-26078-22-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1474375296-26078-1-git-send-email-shreyansh.jain@nxp.com> References: <1466510566-9240-1-git-send-email-shreyansh.jain@nxp.com> <1474375296-26078-1-git-send-email-shreyansh.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131188489865652693; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(68736007)(47776003)(36756003)(110136003)(76176999)(33646002)(2351001)(106466001)(11100500001)(575784001)(50986999)(5003940100001)(104016004)(5660300001)(86362001)(105606002)(50466002)(48376002)(50226002)(626004)(2906002)(189998001)(97736004)(586003)(8936002)(77096005)(8676002)(81166006)(81156014)(2950100001)(92566002)(8666005)(4326007)(356003)(19580395003)(19580405001)(305945005)(85426001)(7846002)(87936001)(229853001)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0301MB2003; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD038; 1:8meYuiZOzohPlimr/31GdgHWajdKnQs+uh7BD0cdd+ZOz8CO7ObZiVjdy8IJDtNcJOueYONzIMAlNRlKfgYGNtVy2TnsKk64bKj1B4FnnxoiVtaDx1jT4sdNVQliTFVVQK+0akUdboJO7rnGWuERUdvu53slXVjq+cba7DwXUcb3dg2BXErVRlmefrjmj2BCtfU2lV4ms8wdlSkdgelPaGrc3AYm3J8LV50VZnjNbJVJOVSYwXOeudX2laaZdyn2KUiAptSfAXveTlRLhT8wMnQUq+KPpRDEpiBGrb6ZKqFVsvSxkk7V+TszBcGGlX+l6Q4aKDWNieOQ150MV6n8ajvU5HgTOCky1kp6e7I4IsnpCTbvHgpkk3d+nuWQrOAMb3Plr7yMepoCQ3ZX8qZd/igvNjXROnUXDX4CNiWz92u5B2k3IMQS2iNFRAnxQ7eXxPiND21VHAxYDe76yLTKY7Kiq8xBUInXhbYKPNMF+QrXX5uv9cLBVna1y8pql7FAHa+Np0vZWwqGCKbyn3FulrO+mtAenmcSfoh1fAlx3rkgfTRjZDn7g/dbDCxdwHJNFYRbjU1cNWICNls2ZJgmUdtmKCc46VZlUZqWH91rP/a9r9+gjnt7/KePqCue8XMrwcf9sqG9b6S7jAqwDv50s43kbOFrQ6T6yCnwm86KbopTNJaxiRWJKCFeIWeSdcmz5alJZK5ZqSC3FquHdsrWcI4dv3NWzZIXhMxsx5XndxY= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: f1d07db0-a188-4fc6-e9d5-08d3e153ab86 X-Microsoft-Exchange-Diagnostics: 1; BLUPR0301MB2003; 2:cRhYEsD6ZbYqIElJyG8zpycT9wLAWxgJXrJ5l3/L4tTJ1AwGRND5Fahdv12P070HviOUQ+9D2CwPGYum3fvow5OETGAwbpUZMn5avxvjmEy0518X8dGJtoLIOTdiQTGgTX0+NeNefUza01cT42BijR/n+rKKaVE0tfZLZiUQKsHlVAFVFFkVtMlWSZ0YvokP; 3:bi6qZFWPE1q2wDp6LuYhmIphQggP3KhcbDIpl8yUFNJUdDeu8G7un0KaJN3EoytCECXDJWDy9AvoRQtHlk+uxNoXU92L48QJqD6RmK3LlX2VpRGgEA5VdJcoDqSlI8KXnvE7hvnC9S4HanAiJlWFIL7WEVdklQC5S4lOHoPS9ItRAbLk+EqiEoneA/X1BA2+Zywvx+n36yWk32oXHYNS5Qni86s2YZUFUtplZiDNIGU= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB2003; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0301MB2003; 25:NEr4GksLvgSywpo8kl/465o3C54U6K7X2HcQfWKohdNvDZFhGkh63DHsfGJyPgTzkLDk6hnJoV0SY1kXxq9xU21K11MtzvmaOoNmVuhYr1yQQDF6okPvYVCQF+oIKKz5A9za84JDP3tkdOyY8NyOn2p/Hbhwf7IHkc28OCauTB7mgHdszuTCEBhOx7CVgk1PXtdspm7JpdcnQICoSIrt1lSPYJi7vBzZn0Lr9yla7bwbJu7V1WyenUHkd+NccLaV2UkNyNoJmvrtqe1FWQiGYoVfm+Y1gvxVeO4211/frKDWNoh1FB2o27wiPUUB+96sEz8L2IYW2btDuRRW7rG0SIuzsJWOpKY749xJLCFVxmWT2wXZ5lXVq054LQHr9aha5Ih2NLbvq5h2/4EmWSrL7bnva463LAyEjuLibEdZxkmvq/RLo58pxdq+aMaULzseur4NGqF/rh87foyWY9+eMOhALNHoF4FG4aIUS4jfC0eta6o53Ht4SV13JOWctCeDA9s4A3R35pjJBzf1QxrDt7bwHy4pK1AFncKz43T7y/Qc4HHtIdyPYex70dpBqig461fitM45l6yJ8waLPjC4cbgRnkoix+8Eie3VTtFiAsNlAf2cysxIN0oe1XXg7/IEUyXzj+XFqzWjHtn5lb3Fc3tAP8SToTeEdmDKY7+IH312k7BBtmgQF8IEOKLhlxAj/gLC+EvW6p9OoIKmZtLfGrsZWzbBv1qpclFkNSbHG8Q= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0301MB2003; 31:sfZeiJg/XDUUlruWb6dNwn4AClk7GhNcifSDTR4ttXShihxo5kQXGmL5ifsqz+vgxbkY3xKihKsZsMMCGb7rNhVZF7pplVI/ZJwFU1Wrm7tt9QRk39o3AW0rnbXKrKMagFsH9O45tTYUX2TZRO9Ltcm7smCmsKX6VI2C3Xcz3BL+Y57qk+zkCN8k/81e8Ch0/1e5qOIEnIR22mok3mn/xyY6t+oRQrq5GVrkRs/B2M8=; 4:XBlAnZca+wlTm1G1EJzjrnoXZbUQsDiShgMR18XYcXnMH7Qq2qXr23TIugYKYSFgQ5oHZMSaDFokTxTmm1jJ61MwrTbwk+LJUQz9dIucF8F7otbF3uqZzd1DDub5UWr+hpTM4Ww/Ri5fs1nogt5XiDQbsxrdxkfEaP7vWAMepe5JnSCp9lYC7XWb6sif/BDFN2vnxNcIUg6mL29RyhtXjGCik255BdIIFYDjCETQ4WFPXFZiytAax/dRvvyU0ZlIe1Cc0w7D4MMbwZgKi1vNECtzCgz6hOhbETs+lPedCAQTxPuh8QzsclmpB22vATFAw1LSskaPLbgJ0+BF4iWqYlAc/Q6ITF2lFCzfTtu9zgKMIG4S5qPoZWyCj8SEEX6l/gFmoGoG5ax5rVTAHDmKeybxkOGpimOJHibXfeDSzwf8gs1GU72w+qyYAXyRqaEW0Rret84MCrgaDiXLj24qPg7jMtHrJSPh/WstGCNxIb+PVJsWiEbheU59MO6FKmpwxGAPNzldP6O2FheNvd2e8MmhLKw6Dad2FYzrAec+F80= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13018025)(13017025)(13015025)(13023025)(13024025)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:BLUPR0301MB2003; BCL:0; PCL:0; RULEID:(400006); SRVR:BLUPR0301MB2003; X-Forefront-PRVS: 0071BFA85B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0301MB2003; 23:jMpc2lzKOtlLE+sjNnIgSxRpZV5pBljA4nJ8dvb?= =?us-ascii?Q?bEqDusAVjgJ5bKMCR9u3dEuGwb55wvQl00OJ8CmBgd+eI65li1mSfXyzoOw4?= =?us-ascii?Q?AuELDIWxi4ii+jAENWFCsA/T1DJ3eN2n1XkWx2LHDYroUx1+fOTZSPtvKh+r?= =?us-ascii?Q?rBvZab96A4zqj/R8l3qBpKx4LRVSbaxkoTOEoNcffw2DU4HLYk8mB9Kk0k1e?= =?us-ascii?Q?USP2UkyPirVLabNN6yfI17oanDp36JVBZJs4Kdqp1WMImc+2btx5yb18TzCX?= =?us-ascii?Q?qUF1qddDuAZpsCaw6/LCgj8yjm6s++luJllu7ReM2DHuOXYiZQ3m3AxVRd2m?= =?us-ascii?Q?VmsPz8wXMUGbcowgKIcgho3WPrQm9/Da0vmrlJpx1K7qx0wfusLhu2Pb/Q8n?= =?us-ascii?Q?be6m/ICrRPXUvd7rfEOT2bhZKEm7WYGx9FfvEggzocIkyTnDdkOxBV3LN8GO?= =?us-ascii?Q?aUG7HLDfaCTwV6na2NDbw4SCDhQDAWgDNK2yb2g0+QEh+NhvoTrt4GskKnmU?= =?us-ascii?Q?ELFwMICcJkAFy2OkT6anvFyUhYVLAK+Fu0/2Qd59eO4//S7ztkmCHU9kNOPW?= =?us-ascii?Q?ppe3u+W+FG440XUINpNWR0JOJef03DPm47fsf11IyOZb6k6hkTVPiKgXT7mt?= =?us-ascii?Q?FuduJCzaex60uIjrymqUDlscXpR2RjHLZoT+hz325qrhnf6XxecNAXqllh1W?= =?us-ascii?Q?+fRu3DV5SYLxtsuiIHlPGElStzKn7SYYT1VVw62TQW38ymgGvnHbKhmbaAi6?= =?us-ascii?Q?+2NR/ymmGot1njaq3VPPp0s7jyynwIMvgpb5HWQgAiAdgFhz8u/RZI7m5sZ7?= =?us-ascii?Q?kBdme5BbruwTNk4TR4CWVOaxHF6YhNwBFbHdA9sfiTP+TWXFUD7Bhkud/l/A?= =?us-ascii?Q?tcvkHVleVQGorvFBs6Fa1ZC5Oo3gfOERqZuza+93v6FcjYmy6DTr2NvyN1fq?= =?us-ascii?Q?qyTFGyodst4UQ1MBYIRWCWtdrpkds8NlgruC2Ckf8rqYwyE88jGwvLKlDv/+?= =?us-ascii?Q?VAuDXoDMNQsr3bwwMLgg/gAUUt9OKLDJIXnnFX8sJtLIwTysY6o9oEkm4Fu2?= =?us-ascii?Q?iYzRydY41OUNNhk+OywienLco8i4IMV/bZAJ+Qs7mcb0cYNXt5Q3Uh8bHrYG?= =?us-ascii?Q?A+kUIlU8J5+tVmLwSxPWV+shGWD2GUSACHA8qsh/u9HMJ44wiXKPw17Zi+dl?= =?us-ascii?Q?jSc9799gICk/rfTcPdsu72m3kKmLVW9XKjzDD?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0301MB2003; 6:C28AEXMmyhZ5+06xoBXT3u03aodNXFzuhuto1RpBIY67EgGnJ2qcrGi6WKZaOf5oa4Ci3zC8SqURCiQdsjSIOIEG/Tvjg5sWv434qxcm5uEt0g62cqYrfTLqOzvhJtHb2gIZQXRsnYj8wP4m6M7dqlxrYlGJZaA+oRohg5KT1UPg7PasyeL2tqYzSX9JuHqEVTbca/YUp+90GX2VT/h9kJGExOqx7LWFuiHdtdBIXIncYpB6EHUlYU0ZQMvfHVeOrwCNPmeUHGV1yqkXcMJVC82TK4K+SYlBcX7ctqwAFHQ=; 5:rzSFrPrG/2fO9j2W1hP5W/cYKFDvbzvKJ1NfIcfASgJtlPOb4JrASoxRMCo9G3FW+j2wEDxpr2RffqMChryGK3yeZS8T0gfBNK9nVQJJKDsq7ogrMuW57ln2nWFPxY5qgXa/Qz2CUy+plN0tbtkZUzI4s4Ar4RHOfSg+Iqag4Nk=; 24:jozQVJIhmSwS26IMvh+ZfrYXj+QaimgifMCMO7x3pXo7xLeHbEutfhhy16B9yPxP1TyhsotelqAnR8JApNqfbxS9u1DWlaD7OwcIVzX4dEo=; 7:i5KZY1/0U0tpYAxcrqBaJqe6+mXLDNtuWVpG/xYMqL017rMKIIS7WRiMcTlNfc2aqBQ40kdCmWAZdCIEGBKc8PEQ6DAFzkjJeeVcLwSq0mc/7diDXJZWA7aEZpa5PsECSGMxsF4IfLfLjd+OaqgmcFxea2HW8gl5UrYeTQbY+MlDw0D5dX1lvcQ+k1ENl/2dPpncktvVR4vALMz0RiGZLoUmdfS5aumctudrJg9+qvL4OeXfFJqGT8G4+6EgqD/bl1BN74hDAsoIwxXGmrjiYwNj42sV1mhcxXAA1KoG3JAFKGABAo32xzGJHJyiXfdO SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2016 12:43:06.3936 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0301MB2003 Subject: [dpdk-dev] [PATCH v11 21/24] eal/pci: inherit RTE driver in PCI driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Jan Viktorin Remove the 'name' member from rte_pci_driver and move to generic rte_driver. Most of the PMD drivers were initially using DRIVER_REGISTER_PCI(..) as well as assigning a name to eth_driver.pci_drv.name member. In this patch, only the original DRIVER_REGISTER_PCI(..) name has been populated into the rte_driver.name member - assignments through eth_driver has been removed. Signed-off-by: Jan Viktorin [Shreyansh: Rebase and expand changes to newly added files] Signed-off-by: Shreyansh Jain --- app/test/test_pci.c | 10 +++++++--- app/test/virtual_pmd.c | 2 +- drivers/crypto/qat/qat_qp.c | 2 +- drivers/net/bnx2x/bnx2x_ethdev.c | 2 -- drivers/net/bnx2x/bnx2x_rxtx.c | 3 ++- drivers/net/bnxt/bnxt_ethdev.c | 1 - drivers/net/cxgbe/cxgbe_ethdev.c | 1 - drivers/net/cxgbe/sge.c | 7 ++++--- drivers/net/e1000/em_ethdev.c | 1 - drivers/net/e1000/igb_ethdev.c | 2 -- drivers/net/ena/ena_ethdev.c | 1 - drivers/net/enic/enic_ethdev.c | 1 - drivers/net/fm10k/fm10k_ethdev.c | 1 - drivers/net/i40e/i40e_ethdev.c | 1 - drivers/net/i40e/i40e_ethdev_vf.c | 1 - drivers/net/i40e/i40e_fdir.c | 2 +- drivers/net/ixgbe/ixgbe_ethdev.c | 2 -- drivers/net/mlx4/mlx4.c | 4 +++- drivers/net/mlx5/mlx5.c | 4 +++- drivers/net/nfp/nfp_net.c | 5 ++--- drivers/net/qede/qede_ethdev.c | 2 -- drivers/net/szedata2/rte_eth_szedata2.c | 1 - drivers/net/thunderx/nicvf_ethdev.c | 1 - drivers/net/virtio/virtio_ethdev.c | 3 +-- drivers/net/vmxnet3/vmxnet3_ethdev.c | 4 ++-- drivers/net/vmxnet3/vmxnet3_rxtx.c | 2 +- lib/librte_cryptodev/rte_cryptodev.c | 4 ++-- lib/librte_eal/common/eal_common_pci.c | 4 ++-- lib/librte_eal/common/include/rte_pci.h | 4 ++-- lib/librte_ether/rte_ethdev.c | 6 +++--- 30 files changed, 37 insertions(+), 47 deletions(-) diff --git a/app/test/test_pci.c b/app/test/test_pci.c index f1b988a..cda186d 100644 --- a/app/test/test_pci.c +++ b/app/test/test_pci.c @@ -78,14 +78,18 @@ struct rte_pci_id my_driver_id2[] = { }; struct rte_pci_driver my_driver = { - .name = "test_driver", + .driver = { + .name = "test_driver" + }, .probe = my_driver_init, .id_table = my_driver_id, .drv_flags = 0, }; struct rte_pci_driver my_driver2 = { - .name = "test_driver2", + .driver = { + .name = "test_driver2" + }, .probe = my_driver_init, .id_table = my_driver_id2, .drv_flags = 0, @@ -95,7 +99,7 @@ static int my_driver_init(__attribute__((unused)) struct rte_pci_driver *dr, struct rte_pci_device *dev) { - printf("My driver init called in %s\n", dr->name); + printf("My driver init called in %s\n", dr->driver.name); printf("%x:%x:%x.%d", dev->addr.domain, dev->addr.bus, dev->addr.devid, dev->addr.function); printf(" - vendor:%x device:%x\n", dev->id.vendor_id, dev->id.device_id); diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c index 8a1f0d0..56eeb99 100644 --- a/app/test/virtual_pmd.c +++ b/app/test/virtual_pmd.c @@ -586,7 +586,7 @@ virtual_ethdev_create(const char *name, struct ether_addr *mac_addr, goto err; pci_dev->numa_node = socket_id; - pci_drv->name = virtual_ethdev_driver_name; + pci_drv->driver.name = virtual_ethdev_driver_name; pci_drv->id_table = id_table; if (isr_support) diff --git a/drivers/crypto/qat/qat_qp.c b/drivers/crypto/qat/qat_qp.c index 5de47e3..2e7188b 100644 --- a/drivers/crypto/qat/qat_qp.c +++ b/drivers/crypto/qat/qat_qp.c @@ -300,7 +300,7 @@ qat_queue_create(struct rte_cryptodev *dev, struct qat_queue *queue, * Allocate a memzone for the queue - create a unique name. */ snprintf(queue->memz_name, sizeof(queue->memz_name), "%s_%s_%d_%d_%d", - dev->driver->pci_drv.name, "qp_mem", dev->data->dev_id, + dev->driver->pci_drv.driver.name, "qp_mem", dev->data->dev_id, queue->hw_bundle_number, queue->hw_queue_number); qp_mz = queue_dma_zone_reserve(queue->memz_name, queue_size_bytes, socket_id); diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c index 7d9ecdf..e38c238 100644 --- a/drivers/net/bnx2x/bnx2x_ethdev.c +++ b/drivers/net/bnx2x/bnx2x_ethdev.c @@ -618,7 +618,6 @@ eth_bnx2xvf_dev_init(struct rte_eth_dev *eth_dev) static struct eth_driver rte_bnx2x_pmd = { .pci_drv = { - .name = "rte_bnx2x_pmd", .id_table = pci_id_bnx2x_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC, .probe = rte_eth_dev_pci_probe, @@ -633,7 +632,6 @@ static struct eth_driver rte_bnx2x_pmd = { */ static struct eth_driver rte_bnx2xvf_pmd = { .pci_drv = { - .name = "rte_bnx2xvf_pmd", .id_table = pci_id_bnx2xvf_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/bnx2x/bnx2x_rxtx.c b/drivers/net/bnx2x/bnx2x_rxtx.c index 0ec4f89..7adea99 100644 --- a/drivers/net/bnx2x/bnx2x_rxtx.c +++ b/drivers/net/bnx2x/bnx2x_rxtx.c @@ -19,7 +19,8 @@ ring_dma_zone_reserve(struct rte_eth_dev *dev, const char *ring_name, const struct rte_memzone *mz; snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d", - dev->driver->pci_drv.name, ring_name, dev->data->port_id, queue_id); + dev->driver->pci_drv.driver.name, ring_name, + dev->data->port_id, queue_id); mz = rte_memzone_lookup(z_name); if (mz) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index d389fc8..aee2db8 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1045,7 +1045,6 @@ bnxt_dev_uninit(struct rte_eth_dev *eth_dev) { static struct eth_driver bnxt_rte_pmd = { .pci_drv = { - .name = "rte_" DRV_MODULE_NAME "_pmd", .id_table = bnxt_pci_id_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c index bb929a9..d3ff94a 100644 --- a/drivers/net/cxgbe/cxgbe_ethdev.c +++ b/drivers/net/cxgbe/cxgbe_ethdev.c @@ -1039,7 +1039,6 @@ out_free_adapter: static struct eth_driver rte_cxgbe_pmd = { .pci_drv = { - .name = "rte_cxgbe_pmd", .id_table = cxgb4_pci_tbl, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/cxgbe/sge.c b/drivers/net/cxgbe/sge.c index ab5a842..736f08c 100644 --- a/drivers/net/cxgbe/sge.c +++ b/drivers/net/cxgbe/sge.c @@ -1645,7 +1645,8 @@ int t4_sge_alloc_rxq(struct adapter *adap, struct sge_rspq *iq, bool fwevtq, iq->size = cxgbe_roundup(iq->size, 16); snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d", - eth_dev->driver->pci_drv.name, fwevtq ? "fwq_ring" : "rx_ring", + eth_dev->driver->pci_drv.driver.name, + fwevtq ? "fwq_ring" : "rx_ring", eth_dev->data->port_id, queue_id); snprintf(z_name_sw, sizeof(z_name_sw), "%s_sw_ring", z_name); @@ -1697,7 +1698,7 @@ int t4_sge_alloc_rxq(struct adapter *adap, struct sge_rspq *iq, bool fwevtq, fl->size = cxgbe_roundup(fl->size, 8); snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d", - eth_dev->driver->pci_drv.name, + eth_dev->driver->pci_drv.driver.name, fwevtq ? "fwq_ring" : "fl_ring", eth_dev->data->port_id, queue_id); snprintf(z_name_sw, sizeof(z_name_sw), "%s_sw_ring", z_name); @@ -1893,7 +1894,7 @@ int t4_sge_alloc_eth_txq(struct adapter *adap, struct sge_eth_txq *txq, nentries = txq->q.size + s->stat_len / sizeof(struct tx_desc); snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d", - eth_dev->driver->pci_drv.name, "tx_ring", + eth_dev->driver->pci_drv.driver.name, "tx_ring", eth_dev->data->port_id, queue_id); snprintf(z_name_sw, sizeof(z_name_sw), "%s_sw_ring", z_name); diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c index d4914a5..f767e1c 100644 --- a/drivers/net/e1000/em_ethdev.c +++ b/drivers/net/e1000/em_ethdev.c @@ -391,7 +391,6 @@ eth_em_dev_uninit(struct rte_eth_dev *eth_dev) static struct eth_driver rte_em_pmd = { .pci_drv = { - .name = "rte_em_pmd", .id_table = pci_id_em_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC | RTE_PCI_DRV_DETACHABLE, diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index c54c8e8..5a1a83e 100644 --- a/drivers/net/e1000/igb_ethdev.c +++ b/drivers/net/e1000/igb_ethdev.c @@ -1078,7 +1078,6 @@ eth_igbvf_dev_uninit(struct rte_eth_dev *eth_dev) static struct eth_driver rte_igb_pmd = { .pci_drv = { - .name = "rte_igb_pmd", .id_table = pci_id_igb_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC | RTE_PCI_DRV_DETACHABLE, @@ -1095,7 +1094,6 @@ static struct eth_driver rte_igb_pmd = { */ static struct eth_driver rte_igbvf_pmd = { .pci_drv = { - .name = "rte_igbvf_pmd", .id_table = pci_id_igbvf_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 85c5086..6efd801 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -1686,7 +1686,6 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, static struct eth_driver rte_ena_pmd = { .pci_drv = { - .name = "rte_ena_pmd", .id_table = pci_id_ena_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c index 9006197..2ac0476 100644 --- a/drivers/net/enic/enic_ethdev.c +++ b/drivers/net/enic/enic_ethdev.c @@ -613,7 +613,6 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev) static struct eth_driver rte_enic_pmd = { .pci_drv = { - .name = "rte_enic_pmd", .id_table = pci_id_enic_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c index 8d55c43..71d35f7 100644 --- a/drivers/net/fm10k/fm10k_ethdev.c +++ b/drivers/net/fm10k/fm10k_ethdev.c @@ -3055,7 +3055,6 @@ static const struct rte_pci_id pci_id_fm10k_map[] = { static struct eth_driver rte_pmd_fm10k = { .pci_drv = { - .name = "rte_pmd_fm10k", .id_table = pci_id_fm10k_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC | RTE_PCI_DRV_DETACHABLE, diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 56bd2c6..5564e82 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -663,7 +663,6 @@ static const struct rte_i40e_xstats_name_off rte_i40e_txq_prio_strings[] = { static struct eth_driver rte_i40e_pmd = { .pci_drv = { - .name = "rte_i40e_pmd", .id_table = pci_id_i40e_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC | RTE_PCI_DRV_DETACHABLE, diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c index 8177626..34eb274 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c @@ -1554,7 +1554,6 @@ i40evf_dev_uninit(struct rte_eth_dev *eth_dev) */ static struct eth_driver rte_i40evf_pmd = { .pci_drv = { - .name = "rte_i40evf_pmd", .id_table = pci_id_i40evf_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c index f65c411..a4efc6d 100644 --- a/drivers/net/i40e/i40e_fdir.c +++ b/drivers/net/i40e/i40e_fdir.c @@ -251,7 +251,7 @@ i40e_fdir_setup(struct i40e_pf *pf) /* reserve memory for the fdir programming packet */ snprintf(z_name, sizeof(z_name), "%s_%s_%d", - eth_dev->driver->pci_drv.name, + eth_dev->driver->pci_drv.driver.name, I40E_FDIR_MZ_NAME, eth_dev->data->port_id); mz = i40e_memzone_reserve(z_name, I40E_FDIR_PKT_LEN, SOCKET_ID_ANY); diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 4b9e3d4..fbe1756 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -1562,7 +1562,6 @@ eth_ixgbevf_dev_uninit(struct rte_eth_dev *eth_dev) static struct eth_driver rte_ixgbe_pmd = { .pci_drv = { - .name = "rte_ixgbe_pmd", .id_table = pci_id_ixgbe_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC | RTE_PCI_DRV_DETACHABLE, @@ -1579,7 +1578,6 @@ static struct eth_driver rte_ixgbe_pmd = { */ static struct eth_driver rte_ixgbevf_pmd = { .pci_drv = { - .name = "rte_ixgbevf_pmd", .id_table = pci_id_ixgbevf_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 6efea24..e952bd8 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -5911,7 +5911,9 @@ static const struct rte_pci_id mlx4_pci_id_map[] = { static struct eth_driver mlx4_driver = { .pci_drv = { - .name = MLX4_DRIVER_NAME, + .driver = { + .name = MLX4_DRIVER_NAME + }, .id_table = mlx4_pci_id_map, .probe = mlx4_pci_probe, .drv_flags = RTE_PCI_DRV_INTR_LSC, diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index f1de40a..16f9891 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -728,7 +728,9 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { static struct eth_driver mlx5_driver = { .pci_drv = { - .name = MLX5_DRIVER_NAME, + .driver = { + .name = MLX5_DRIVER_NAME + }, .id_table = mlx5_pci_id_map, .probe = mlx5_pci_probe, .drv_flags = RTE_PCI_DRV_INTR_LSC, diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index e140074..d43db47 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -214,7 +214,7 @@ ring_dma_zone_reserve(struct rte_eth_dev *dev, const char *ring_name, const struct rte_memzone *mz; snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d", - dev->driver->pci_drv.name, + dev->driver->pci_drv.driver.name, ring_name, dev->data->port_id, queue_id); mz = rte_memzone_lookup(z_name); @@ -1000,7 +1000,7 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private); - dev_info->driver_name = dev->driver->pci_drv.name; + dev_info->driver_name = dev->driver->pci_drv.driver.name; dev_info->max_rx_queues = (uint16_t)hw->max_rx_queues; dev_info->max_tx_queues = (uint16_t)hw->max_tx_queues; dev_info->min_rx_bufsize = ETHER_MIN_MTU; @@ -2460,7 +2460,6 @@ static struct rte_pci_id pci_id_nfp_net_map[] = { static struct eth_driver rte_nfp_net_pmd = { .pci_drv = { - .name = "rte_nfp_net_pmd", .id_table = pci_id_nfp_net_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC | RTE_PCI_DRV_DETACHABLE, diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 696a32b..d00c1d9 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -1478,7 +1478,6 @@ static struct rte_pci_id pci_id_qede_map[] = { static struct eth_driver rte_qedevf_pmd = { .pci_drv = { - .name = "rte_qedevf_pmd", .id_table = pci_id_qedevf_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC, @@ -1492,7 +1491,6 @@ static struct eth_driver rte_qedevf_pmd = { static struct eth_driver rte_qede_pmd = { .pci_drv = { - .name = "rte_qede_pmd", .id_table = pci_id_qede_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC, diff --git a/drivers/net/szedata2/rte_eth_szedata2.c b/drivers/net/szedata2/rte_eth_szedata2.c index f117220..f4ec5ea 100644 --- a/drivers/net/szedata2/rte_eth_szedata2.c +++ b/drivers/net/szedata2/rte_eth_szedata2.c @@ -1572,7 +1572,6 @@ static const struct rte_pci_id rte_szedata2_pci_id_table[] = { static struct eth_driver szedata2_eth_driver = { .pci_drv = { - .name = RTE_SZEDATA2_PCI_DRIVER_NAME, .id_table = rte_szedata2_pci_id_table, .probe = rte_eth_dev_pci_probe, .remove = rte_eth_dev_pci_remove, diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c index 9ccf59e..d98a537 100644 --- a/drivers/net/thunderx/nicvf_ethdev.c +++ b/drivers/net/thunderx/nicvf_ethdev.c @@ -1759,7 +1759,6 @@ static const struct rte_pci_id pci_id_nicvf_map[] = { static struct eth_driver rte_nicvf_pmd = { .pci_drv = { - .name = "rte_nicvf_pmd", .id_table = pci_id_nicvf_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 1c2bf01..b05bb40 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -1304,7 +1304,6 @@ eth_virtio_dev_uninit(struct rte_eth_dev *eth_dev) static struct eth_driver rte_virtio_pmd = { .pci_drv = { - .name = "rte_virtio_pmd", .id_table = pci_id_virtio_map, .drv_flags = RTE_PCI_DRV_DETACHABLE, .probe = rte_eth_dev_pci_probe, @@ -1534,7 +1533,7 @@ virtio_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) struct virtio_hw *hw = dev->data->dev_private; if (dev->pci_dev) - dev_info->driver_name = dev->driver->pci_drv.name; + dev_info->driver_name = dev->driver->pci_drv.driver.name; else dev_info->driver_name = "virtio_user PMD"; dev_info->max_rx_queues = (uint16_t)hw->max_rx_queues; diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index f15cda5..fa49759 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -137,7 +137,8 @@ gpa_zone_reserve(struct rte_eth_dev *dev, uint32_t size, const struct rte_memzone *mz; snprintf(z_name, sizeof(z_name), "%s_%d_%s", - dev->driver->pci_drv.name, dev->data->port_id, post_string); + dev->driver->pci_drv.driver.name, + dev->data->port_id, post_string); mz = rte_memzone_lookup(z_name); if (mz) @@ -328,7 +329,6 @@ eth_vmxnet3_dev_uninit(struct rte_eth_dev *eth_dev) static struct eth_driver rte_vmxnet3_pmd = { .pci_drv = { - .name = "rte_vmxnet3_pmd", .id_table = pci_id_vmxnet3_map, .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE, .probe = rte_eth_dev_pci_probe, diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c index f97f4d0..42c9d95 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -773,7 +773,7 @@ ring_dma_zone_reserve(struct rte_eth_dev *dev, const char *ring_name, const struct rte_memzone *mz; snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d", - dev->driver->pci_drv.name, ring_name, + dev->driver->pci_drv.driver.name, ring_name, dev->data->port_id, queue_id); mz = rte_memzone_lookup(z_name); diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c index 17e4502..127e8d0 100644 --- a/lib/librte_cryptodev/rte_cryptodev.c +++ b/lib/librte_cryptodev/rte_cryptodev.c @@ -458,7 +458,7 @@ rte_cryptodev_pci_probe(struct rte_pci_driver *pci_drv, return 0; CDEV_LOG_ERR("driver %s: crypto_dev_init(vendor_id=0x%x device_id=0x%x)" - " failed", pci_drv->name, + " failed", pci_drv->driver.name, (unsigned) pci_dev->id.vendor_id, (unsigned) pci_dev->id.device_id); @@ -869,7 +869,7 @@ rte_cryptodev_info_get(uint8_t dev_id, struct rte_cryptodev_info *dev_info) dev_info->pci_dev = dev->pci_dev; if (dev->driver) - dev_info->driver_name = dev->driver->pci_drv.name; + dev_info->driver_name = dev->driver->pci_drv.driver.name; } diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c index bef7ee8..79f5526 100644 --- a/lib/librte_eal/common/eal_common_pci.c +++ b/lib/librte_eal/common/eal_common_pci.c @@ -195,7 +195,7 @@ rte_eal_pci_probe_one_driver(struct rte_pci_driver *dr, struct rte_pci_device *d } RTE_LOG(INFO, EAL, " probe driver: %x:%x %s\n", dev->id.vendor_id, - dev->id.device_id, dr->name); + dev->id.device_id, dr->driver.name); if (dr->drv_flags & RTE_PCI_DRV_NEED_MAPPING) { /* map resources for devices that use igb_uio */ @@ -255,7 +255,7 @@ rte_eal_pci_detach_dev(struct rte_pci_driver *dr, loc->function, dev->numa_node); RTE_LOG(DEBUG, EAL, " remove driver: %x:%x %s\n", dev->id.vendor_id, - dev->id.device_id, dr->name); + dev->id.device_id, dr->driver.name); if (dr->remove && (dr->remove(dev) < 0)) return -1; /* negative value is an error */ diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h index 67f6ee7..f0a9ea2 100644 --- a/lib/librte_eal/common/include/rte_pci.h +++ b/lib/librte_eal/common/include/rte_pci.h @@ -200,7 +200,7 @@ typedef int (pci_remove_t)(struct rte_pci_device *); */ struct rte_pci_driver { TAILQ_ENTRY(rte_pci_driver) next; /**< Next in list. */ - const char *name; /**< Driver name. */ + struct rte_driver driver; /**< Inherit core driver. */ pci_probe_t *probe; /**< Device Probe function. */ pci_remove_t *remove; /**< Device Remove function. */ const struct rte_pci_id *id_table; /**< ID table, NULL terminated. */ @@ -492,7 +492,7 @@ void rte_eal_pci_register(struct rte_pci_driver *driver); RTE_INIT(pciinitfn_ ##nm); \ static void pciinitfn_ ##nm(void) \ {\ - (pci_drv).name = RTE_STR(nm);\ + (pci_drv).driver.name = RTE_STR(nm);\ rte_eal_pci_register(&pci_drv); \ } \ DRIVER_EXPORT_NAME(nm, __COUNTER__) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index cc2f921..a88a05d 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -275,7 +275,7 @@ rte_eth_dev_pci_probe(struct rte_pci_driver *pci_drv, return 0; RTE_PMD_DEBUG_TRACE("driver %s: eth_dev_init(vendor_id=0x%u device_id=0x%x) failed\n", - pci_drv->name, + pci_drv->driver.name, (unsigned) pci_dev->id.vendor_id, (unsigned) pci_dev->id.device_id); if (rte_eal_process_type() == RTE_PROC_PRIMARY) @@ -2568,7 +2568,7 @@ rte_eth_dma_zone_reserve(const struct rte_eth_dev *dev, const char *ring_name, const struct rte_memzone *mz; snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d", - dev->driver->pci_drv.name, ring_name, + dev->driver->pci_drv.driver.name, ring_name, dev->data->port_id, queue_id); mz = rte_memzone_lookup(z_name); @@ -3210,7 +3210,7 @@ rte_eth_copy_pci_info(struct rte_eth_dev *eth_dev, struct rte_pci_device *pci_de eth_dev->data->kdrv = pci_dev->kdrv; eth_dev->data->numa_node = pci_dev->numa_node; - eth_dev->data->drv_name = pci_dev->driver->name; + eth_dev->data->drv_name = pci_dev->driver->driver.name; } int