From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0041.outbound.protection.outlook.com [104.47.41.41]) by dpdk.org (Postfix) with ESMTP id 9C00B3DC for ; Wed, 14 Dec 2016 06:08:31 +0100 (CET) Received: from DM2PR03CA0040.namprd03.prod.outlook.com (10.141.96.39) by CY1PR0301MB0746.namprd03.prod.outlook.com (10.160.159.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.771.8; Wed, 14 Dec 2016 05:08:30 +0000 Received: from BN1BFFO11OLC003.protection.gbl (2a01:111:f400:7c10::1:128) by DM2PR03CA0040.outlook.office365.com (2a01:111:e400:2428::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.771.8 via Frontend Transport; Wed, 14 Dec 2016 05:08:30 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; solarflare.com; dkim=none (message not signed) header.d=none;solarflare.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1BFFO11OLC003.mail.protection.outlook.com (10.58.145.14) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.761.6 via Frontend Transport; Wed, 14 Dec 2016 05:08:29 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:1092; Count:13 Received: from [10.232.14.87] ([10.232.14.87]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id uBE58O3M013620; Tue, 13 Dec 2016 22:08:25 -0700 To: Andrew Rybchenko , References: <1480846288-2517-1-git-send-email-shreyansh.jain@nxp.com> <1481636232-2300-1-git-send-email-shreyansh.jain@nxp.com> <1481636232-2300-13-git-send-email-shreyansh.jain@nxp.com> <44213d68-1e87-c464-549a-274e389b9c0f@solarflare.com> CC: , , , From: Shreyansh Jain Message-ID: <42bb203e-1e21-c5af-36ef-f331e534730a@nxp.com> Date: Wed, 14 Dec 2016 10:41:10 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <44213d68-1e87-c464-549a-274e389b9c0f@solarflare.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-IncomingHeaderCount: 13 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131261657098419380; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(7916002)(39380400002)(39840400002)(39450400003)(39860400002)(39410400002)(39400400002)(39850400002)(2980300002)(1109001)(1110001)(339900001)(377454003)(189002)(199003)(24454002)(4001350100001)(65806001)(93886004)(8676002)(8936002)(81166006)(97736004)(65956001)(33646002)(81156014)(5001770100001)(83506001)(626004)(4326007)(105606002)(5660300001)(64126003)(189998001)(85426001)(65826007)(106466001)(69596002)(31686004)(6666003)(2950100002)(47776003)(23746002)(54356999)(36756003)(76176999)(50986999)(575784001)(2906002)(38730400001)(77096006)(356003)(104016004)(31696002)(230700001)(68736007)(92566002)(50466002)(229853002)(86362001)(305945005)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB0746; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11OLC003; 1:qINszRS95fhYUEjuwJXfUzU3HGNiFvcV6suhwn6Wo+Cea/Sbaz5eqKhZF4AfNbNviHvVIwh/17Xuh9Shga31ZNwnPuqdWfga5d38I+M87d+uuCvywjCvNAZBZ1KLMiHWyeimNYqVE+otSOJcBzKwwyXi8MGcQqtzrCvJy9F+4cFn09GwpPlRYxHKqpN8CTB0ThCgQtI0wg6o0QpZU5yX82FwHnaHyIwY22rmDNXbDBgWXCBO8Sp2i71HdMT9oTGHuGkn9SK9pxjlI6ih7UuM0QINQ9xJb6gLEWE7KxGfFhDQ/8K6Mf1ur9D4mTJmxwyM+yd7C/ycIcmtSFvlvCFbaOvvjDdF+h4vI/DbuNU6IoBvFsMhXP+M0F/vrC1MGanUVLupzc//zMqZYC8doDMvtnWWOXiE00Z9QjRJ487PMZ++/z2aKsV5iak4D1yH5g5lfPiKgYM+kO4x0pWy+j8zSbKhwgJxhjqIPjAoTg0SIIsARoLdWnOwzs5phZL7XHKFbXb7SSey+6xRZ++4V6xTGKp4g+TpijSMO0VteMEGuRRIc7mLOxVyzTDau/aXBgQgwkAkRg0uF/loEz58o38CDJjO91F4TeMfuKg5biuIdwEmyF2SNFRkvGxSmN0gJ/W8gJO4fow63K7xvFxMpwdsfg== X-MS-Office365-Filtering-Correlation-Id: 947d9607-9fe4-4579-9b57-08d423df3e6f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:CY1PR0301MB0746; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 3:s2lp1LCREkU20Ulwzc+7oHHQi+zekjSh/VTon/FVFely1CAHnZ/iyAgCvmsR4GOtU43SjaHvRCeFxrow0qhOo9AkPq8As1xPWTEKRIEnwWy8VMGuafn493eN+4CWgg86VeYldPp55mGZUSxej0veJzVKAOfgGbhYGRM77PslYHKwAAoPzyKTHM20vm7Bv87jCN7jPpZZuSXSp4Xt3SpveWkgT8ng5M102xxy/G7Ies21kSoJCLcGfgZ5/yS24CW2jQrbcPxI2IbjWrOrO1SP58ikDe6emkqOhZ5QbnuTHHh5OWOxBqNhUVrgDa7uTujt568kBTEPvw728YCAiNUdVy4m8h58kUl4qz+FD8StXFc=; 25:VuE8R+otqvIFH6WbBchr/NSlbyapuCSFSdvL6YlDt6JMhf9r5kBbBZMZagXd6GZJr6qkWshx09YZZt93PmqNfc8vaoqVtCzux2ryTdk1gqAg6YL0tv6YB0rfHsyde3GSMJsGfLNyo54WmFO2GQ/IL8sQzr66lmxF503Q3kPD/Z8xGfZLYV5H0TdrQyGKMuX7w0qkzYmT0JGswSl/k+aeIjBpuJYTsfI/G+rSFPBl4u468s03vGvRA+A3Y2rrg0h7Ct8F3tS5MhG8WICRxSzUXAZT1SnSFk/ecn97Ux4pdQ9en9gNikLC9xL6jrUT/iLz+fGfhSpVD5ox8n4k3x6TpOOrh/oINX/hkFDyigt+5qHlFlpFSzQjJq3s9oc4Xap/ukHo6UclQhTemqQas6oW0TDFHN2eJH3DMI4F9AbspNUT1Ck/zEx7snUWdhqjCWl8qFxhSeKXMEBPzuxeI6aSZA== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 31:xH4rqDAjP/Ap+O5jt+lf2BLYmjNMR6ZsJFKkh7LE1Wf677z0+U5ufD0Bm8vL19vYfCJ1UoDCsR3BzJ5D54Fz9QTf9YtOdbEacDkSkrn2FMcDaZoQ8JqsH30xAMWYuVv9mJsV7bLNqX3DXzaui7BbAz0Xg7IZEzFpfJA04A6HCglMb0Iu935BxHFOMNicWhSGEqtIgTp78yNiWZwU+gID+xT/ep4QzhTH3ktmndypQv/b6+Mv+quW3WWzD0oD/bByfn/8e1Kv8D9UA+gxuR2vl7Bq0ni+dETUeWK0DPWHLBk= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(8121501046)(5005006)(13017025)(13018025)(13015025)(13024025)(13023025)(10201501046)(3002001)(6055026)(6096035)(20161123561025)(20161123556025)(20161123559025)(20161123563025)(20161123565025); SRVR:CY1PR0301MB0746; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR0301MB0746; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 4:Up4F/rQLnYt/YD1T/v+tdlg9FFsTfw9KG2Z21BebTs2xC5zX2eIZZ0FUk673kflKcJ7PfUj4Zod5BGfJ6TLhLFU0bJjOOp2C/NyzuNwlyM9Bxpg8ri1/pvCDCg80og0r4VDZ5+JHcK1iBuX3t3zsFmELYSQksKPl0pZZF0cZRm140isEz5kQVqKcrk/4HG9RlhKLE2Fx5u40qiKvxjwVqGDBHJMEOM5wcm0yqsVsYlu3uhc2cm5RygxhU6ULGk6+ANheUGR/cVtOB1HniQ+JY/St5xVDYmtnnegaMJq9Mi6TIfLia38S2Znoa93/UfMTNVXBlQYhlvJ0ccfwXJIUbNYtzsVE4VJKKq22Ufn5dTXj1s6E6igrWgfPUw7D+p7tffsYGjhw6nm6kN0f7ZUYwFCeIx+XZq8uL6oHWefYyr5ZM1FYQV2i/JGWiuY98B3PQ7o8pWeObQHs4Cb7NwmY7QkaYoH2AhlSusFylOw8ot3hUK1/nL0YGnS2+Qw0inp6D+5fePDIz+4fSnVLKqGo+ZUwrt69oZB1qkHDBvWqLkGS2r3cvUGL3TomXopvO/YcGg4XdaVukC5BFMQvTL1zYrg937Aj8LgHzFyMmn9YPosmFW0T+f9XhNT18uwXF/rP3878VC5FEPP8pBKbhCAzI9V1uqKUdoi7ZzWegm3oIMLNRUpb63GzQNPP1czvPLQh7pI2MzBtbblnPZEh/g3bxWn2V1k51Za78ABQDbwT2CjHmzQ1PgFE/DBPVAMYzs4y X-Forefront-PRVS: 01565FED4C X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY1PR0301MB0746; 23:RnulhjHEtnqj1V2y/xWbuxXoRHteE0suHRT?= =?Windows-1252?Q?EA1b/fMdXJxJJx7L3xIYKIddZuGViISLaoji8tQGlOD/047GNOpSipn8?= =?Windows-1252?Q?wIsxitKkU0q9Kc4Vu0tXimNf7XWNO8CD4HKQ9arfshoJl//t6hElYA87?= =?Windows-1252?Q?5+TSfq9mq5qZXGRgg/3BcbFvilHU7Uj1oRssWjsdh1UNwWXxoo7lePSU?= =?Windows-1252?Q?V3rLim2dAMupG+mhAx8m5cRQV7nu9XKBLQZXv8zIlP6MKuc7Lb7QKDZV?= =?Windows-1252?Q?cONRdrz2QiBLfpdZsbfPv+/ZQ9j6t4HmMvASVMzYAaCz4nzbbPoYOK2Q?= =?Windows-1252?Q?HNKt5IQVGPKtIm4ofDx1L0KsGKkyTNrrGkXj4JYDGszBRwDPHb83B3Ha?= =?Windows-1252?Q?2AHUIlZlXFaT/d3xnI275PD0opqBN8lH5fc5TO/jBuKWe64zuIi5nrDD?= =?Windows-1252?Q?OiyrK9+DlwrkKlfxEcezlMdzj48PoRxEozeER5GmIZ9TuRpTdUXzwj19?= =?Windows-1252?Q?53G7+h20re7KWME7IcCcTbS0lRJeTNRBfxrT5b9kBBWA7wwgemFPA+Zc?= =?Windows-1252?Q?GEubrtL5+McopgcEeA+BhVUSz2zO9MdX6H8q6Q6WmT3I0uQM1xZ2pNz4?= =?Windows-1252?Q?9oEFEIRjLb2P65xPfLji9MmdLJl8KRiCXjy/5v9kBmuPExMR/MZHcDDP?= =?Windows-1252?Q?rAlWuuliFeiwDMi6NLt4Lh5REFsUjZWOrRoF+ezbH2a1DdefuYcwkarN?= =?Windows-1252?Q?oVDGcDOEL+AbjPKaZHYfjElMNjhtkuGQQi/eu12QfWpME1nDqgpL3CCa?= =?Windows-1252?Q?bUYZjQfDloU1fiN9xSs/0c47SdPXUexFiyY222DaKq31auUje7wB9Tvs?= =?Windows-1252?Q?l1dY/dshena6Q73cPVhRFvd+aNU3z174gnYkD5ckbD35Qm7dzlOoPel5?= =?Windows-1252?Q?SxXRBgOmo++1UJsMsfcAwN5rQ3SIwyE5DdHPd7o0attWx2JYbeKGajX3?= =?Windows-1252?Q?ZNU+mK3G7ncgURGF4M2wPCtXrGwbzkGmOdazmKRqYDDx6V6PRTbvn9aa?= =?Windows-1252?Q?db2rPaI4urn4b2i/6gifwWnkwYd3pZFlDm10MFrJX6rQaTa/Lt45AuVf?= =?Windows-1252?Q?aRPP2galD+/4tnh9pK1uoZSBnkUcdtFxkKYOFFZwrVX8raeCLVQN10GS?= =?Windows-1252?Q?Oj/M+YYdcFniGRaOjo4HpU3O19YsDPX6kMgXfFThhmc6Aorr9P2sVuOh?= =?Windows-1252?Q?LRnyL7mbB3qN3maIzdLsOSqQI550M1aZebKInZTwj1uwHegpJBip4Teu?= =?Windows-1252?Q?qKepbmplgvqKGY+7fvw9TfJSBXhvY5Lg/054x9Eqml20btb4XyD9uhRo?= =?Windows-1252?Q?5Cj1vFvZ44+OY0rYsRJ0WtZtTG+jJJFC3uIelREYeHukDc8NLoMJ9+96?= =?Windows-1252?Q?O4YgwqShK0Rj51JuoMoYNsGkjDcp6EzDNdo4fvRNZ+2oB8fIkOUJtNd7?= =?Windows-1252?Q?Y2q/Ki8+ClUfZ/SNxq0GDX3RUSyNWPoCvuMq54Uj4W+iAO3zk4oGCyqy?= =?Windows-1252?Q?4nvValRE0+chQpHZy4XhZ0gOeXZasvhU8lklNgTDKdr0AzTI1SEmB7ld?= =?Windows-1252?Q?kX34e8ate9Qk679/MWp9ePSU5AHDdCB20AyMEdaB+9kUjZlKjrz594aP?= =?Windows-1252?Q?7V7WjgCDGPQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 6:c3MnM81CHkovAoxoyFN4Xx/iKnT8XSaldPeV+qd5NaXIc8ENjx5R4UPJHwhIOXzvlgbV3b3dbdN514vTbB41GPP4fpGP5m9bGm27Eod6gSgQJZPsHR1EYcO8mdFMkjA8tnTo4XGDHQHC1p8IdniIhHIsZHt0dx0ry8S8ymCuRXpRlyN+rd1MvOtq5mWuBTH70GbcREm56l7MThvAHx1+nK6hsXu0wGBYvmT4hlaUuJmnBH2tI4Prn7ndJOPU0W4+7+68/9HKlrSgJHXj5mUtGQSWqtWN0UZY1nn4mH1bq6+MrYMoTsOWnNOGrvwq42IJVgaQSnS7z3J6qKkGsykzLUO4mwIkCXeatUPlY+wmyDT+xMnQGsyK8EmNjNpdcJvxLYmM6cC5RSoG3Zg4Q1rzWS+PpuZ9X9pMkOK4mzV5iZ6BPyHIej0J4MHtpRrvXioP; 5:WFmIyCiigoIU3KuR2MPYBqf15Q3LGcfAckwg7QdkwDaBks4h66k78Y/xD3zaxhmZLsnGOeyV572A3iPbFdUrh4VZB6i4fldUbeRJs+tHWSF2dRZFziKLc8/lfhEWA3tTEPloULbZCs1rzP5x8mZdrKoBvATI9Alx6teNyhon1CHpGCZSX1p/c6hP1EpSif9P; 24:5VEcF34Z8gnz97RD/oZo2EZwovGukrcAtGwh5HkImHU2PLXr0na74p8Ia8BSqhCDAFTb1L8/rtYlZ6Xi0ymHYJPmVMSNRywueXuahbcJxmg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 7:2iiBnTJJCQ9AQg5Qt6lPeA8sxnU+m+xsAhmNu6rLDRdKuyRIRuwXUpQ5rbo+ueEf72lEKjo0v1WADndXHFBbS6N+b3CqeynBXdlBJc5LFmMUzKStXOBxpq1jgfuj+Lyn8LlsG9sx/AQVjGp3vkpaWy/nrzihizPfzzOiyoyNuzZ9NKQ8YKFrj82XrXNuKUkOef6zVVU0UQhanu8SsknWWcL05XlihtQ1WtihctW02dEq481bnEOgzieTCTX3W0r7lJh2ZU2K4NxJ0u0xWVgI+b9uOFbAbNh++8FfprbbY4foJl44GpYy/ja2dEllaOMZ5SIim/LKd72zj5i+pj3ivsrjBd2NOe9LpCGUBTD/LOQf6Z/K7UEP9JGN0hujRtvBaYGvhMiKehMZxZALc6iHDwkXZUhswD6F7LT7qhf1DHSJMEVXn6r5Q/dP0+FsWuZC0aoul3Rgf5SrERfof5r+cA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2016 05:08:29.4051 (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.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB0746 Subject: Re: [dpdk-dev] [PATCH v2 12/12] drivers: update PMDs to use rte_driver probe and remove X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Dec 2016 05:08:32 -0000 On Tuesday 13 December 2016 07:22 PM, Andrew Rybchenko wrote: > On 12/13/2016 04:37 PM, Shreyansh Jain wrote: >> These callbacks now act as first layer of PCI interfaces from the Bus. >> Bus probe would enter the PMDs through the rte_driver->probe/remove >> callbacks, falling to rte_xxx_driver->probe/remove (Currently, all the >> drivers are rte_pci_driver). > > I think similar changes in drivers/net/sfc/sfc_ethdev.c (already in > dpdk-next-net) are required as well. Thanks for highlighting. IIRC, similar point was highlighted by Ferruh as well. Indeed a related change is required for all PMDs (PCI, for now) - if this change set (or a variation) is accepted. So, just to clarify: This patch series is based on master (dpdk). How should such changes (for drivers in dpdk-next-net) be highlighted? Or, how do we track such merges? One obvious thing I can see is that those PMDs, which are in dpdk-next-net, are changed by their respective authors if this series (or similar changes by other series) are absorbed in master and when their series is merged upstream. Any other expected/assumed way? > >> Signed-off-by: Shreyansh Jain >> --- >> drivers/net/bnx2x/bnx2x_ethdev.c | 8 ++++++++ >> drivers/net/bnxt/bnxt_ethdev.c | 4 ++++ >> drivers/net/cxgbe/cxgbe_ethdev.c | 4 ++++ >> drivers/net/e1000/em_ethdev.c | 4 ++++ >> drivers/net/e1000/igb_ethdev.c | 8 ++++++++ >> drivers/net/ena/ena_ethdev.c | 4 ++++ >> drivers/net/enic/enic_ethdev.c | 4 ++++ >> drivers/net/fm10k/fm10k_ethdev.c | 4 ++++ >> drivers/net/i40e/i40e_ethdev.c | 4 ++++ >> drivers/net/i40e/i40e_ethdev_vf.c | 4 ++++ >> drivers/net/ixgbe/ixgbe_ethdev.c | 8 ++++++++ >> drivers/net/mlx4/mlx4.c | 4 +++- >> drivers/net/mlx5/mlx5.c | 1 + >> drivers/net/nfp/nfp_net.c | 4 ++++ >> drivers/net/qede/qede_ethdev.c | 8 ++++++++ >> drivers/net/szedata2/rte_eth_szedata2.c | 4 ++++ >> drivers/net/thunderx/nicvf_ethdev.c | 4 ++++ >> drivers/net/virtio/virtio_ethdev.c | 2 ++ >> drivers/net/vmxnet3/vmxnet3_ethdev.c | 4 ++++ >> 19 files changed, 86 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c >> b/drivers/net/bnx2x/bnx2x_ethdev.c >> index 0eae433..9f3b3f2 100644 >> --- a/drivers/net/bnx2x/bnx2x_ethdev.c >> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c >> @@ -618,6 +618,10 @@ eth_bnx2xvf_dev_init(struct rte_eth_dev *eth_dev) >> static struct eth_driver rte_bnx2x_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .id_table = pci_id_bnx2x_map, >> .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC, >> .probe = rte_eth_dev_pci_probe, >> @@ -632,6 +636,10 @@ static struct eth_driver rte_bnx2x_pmd = { >> */ >> static struct eth_driver rte_bnx2xvf_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .id_table = pci_id_bnx2xvf_map, >> .drv_flags = RTE_PCI_DRV_NEED_MAPPING, >> .probe = rte_eth_dev_pci_probe, >> diff --git a/drivers/net/bnxt/bnxt_ethdev.c >> b/drivers/net/bnxt/bnxt_ethdev.c >> index 035fe07..c8671c8 100644 >> --- a/drivers/net/bnxt/bnxt_ethdev.c >> +++ b/drivers/net/bnxt/bnxt_ethdev.c >> @@ -1160,6 +1160,10 @@ bnxt_dev_uninit(struct rte_eth_dev *eth_dev) { >> static struct eth_driver bnxt_rte_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .id_table = bnxt_pci_id_map, >> .drv_flags = RTE_PCI_DRV_NEED_MAPPING | >> RTE_PCI_DRV_DETACHABLE | RTE_PCI_DRV_INTR_LSC, >> diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c >> b/drivers/net/cxgbe/cxgbe_ethdev.c >> index b7f28eb..67714fa 100644 >> --- a/drivers/net/cxgbe/cxgbe_ethdev.c >> +++ b/drivers/net/cxgbe/cxgbe_ethdev.c >> @@ -1039,6 +1039,10 @@ static int eth_cxgbe_dev_init(struct >> rte_eth_dev *eth_dev) >> static struct eth_driver rte_cxgbe_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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/e1000/em_ethdev.c >> b/drivers/net/e1000/em_ethdev.c >> index aee3d34..7be5da3 100644 >> --- a/drivers/net/e1000/em_ethdev.c >> +++ b/drivers/net/e1000/em_ethdev.c >> @@ -391,6 +391,10 @@ eth_em_dev_uninit(struct rte_eth_dev *eth_dev) >> static struct eth_driver rte_em_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 2fddf0c..70dd24c 100644 >> --- a/drivers/net/e1000/igb_ethdev.c >> +++ b/drivers/net/e1000/igb_ethdev.c >> @@ -1078,6 +1078,10 @@ eth_igbvf_dev_uninit(struct rte_eth_dev *eth_dev) >> static struct eth_driver rte_igb_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .id_table = pci_id_igb_map, >> .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC | >> RTE_PCI_DRV_DETACHABLE, >> @@ -1094,6 +1098,10 @@ static struct eth_driver rte_igb_pmd = { >> */ >> static struct eth_driver rte_igbvf_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 ab9a178..54fc8de 100644 >> --- a/drivers/net/ena/ena_ethdev.c >> +++ b/drivers/net/ena/ena_ethdev.c >> @@ -1705,6 +1705,10 @@ static uint16_t eth_ena_xmit_pkts(void >> *tx_queue, struct rte_mbuf **tx_pkts, >> static struct eth_driver rte_ena_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 2b154ec..c2783db 100644 >> --- a/drivers/net/enic/enic_ethdev.c >> +++ b/drivers/net/enic/enic_ethdev.c >> @@ -634,6 +634,10 @@ static int eth_enicpmd_dev_init(struct >> rte_eth_dev *eth_dev) >> static struct eth_driver rte_enic_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .id_table = pci_id_enic_map, >> .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC, >> .probe = rte_eth_dev_pci_probe, >> diff --git a/drivers/net/fm10k/fm10k_ethdev.c >> b/drivers/net/fm10k/fm10k_ethdev.c >> index 923690c..d1a2efa 100644 >> --- a/drivers/net/fm10k/fm10k_ethdev.c >> +++ b/drivers/net/fm10k/fm10k_ethdev.c >> @@ -3061,6 +3061,10 @@ static const struct rte_pci_id >> pci_id_fm10k_map[] = { >> static struct eth_driver rte_pmd_fm10k = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 67778ba..9c5d50f 100644 >> --- a/drivers/net/i40e/i40e_ethdev.c >> +++ b/drivers/net/i40e/i40e_ethdev.c >> @@ -670,6 +670,10 @@ static const struct rte_i40e_xstats_name_off >> rte_i40e_txq_prio_strings[] = { >> static struct eth_driver rte_i40e_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 aa306d6..10bf6ab 100644 >> --- a/drivers/net/i40e/i40e_ethdev_vf.c >> +++ b/drivers/net/i40e/i40e_ethdev_vf.c >> @@ -1527,6 +1527,10 @@ i40evf_dev_uninit(struct rte_eth_dev *eth_dev) >> */ >> static struct eth_driver rte_i40evf_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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/ixgbe/ixgbe_ethdev.c >> b/drivers/net/ixgbe/ixgbe_ethdev.c >> index edc9b22..80ee232 100644 >> --- a/drivers/net/ixgbe/ixgbe_ethdev.c >> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c >> @@ -1564,6 +1564,10 @@ eth_ixgbevf_dev_uninit(struct rte_eth_dev >> *eth_dev) >> static struct eth_driver rte_ixgbe_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .id_table = pci_id_ixgbe_map, >> .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC | >> RTE_PCI_DRV_DETACHABLE, >> @@ -1580,6 +1584,10 @@ static struct eth_driver rte_ixgbe_pmd = { >> */ >> static struct eth_driver rte_ixgbevf_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 da61a85..e3dcd41 100644 >> --- a/drivers/net/mlx4/mlx4.c >> +++ b/drivers/net/mlx4/mlx4.c >> @@ -5907,7 +5907,9 @@ static const struct rte_pci_id mlx4_pci_id_map[] >> = { >> static struct eth_driver mlx4_driver = { >> .pci_drv = { >> .driver = { >> - .name = MLX4_DRIVER_NAME >> + .name = MLX4_DRIVER_NAME, >> + .probe = rte_eal_pci_probe, >> + }, >> }, >> .id_table = mlx4_pci_id_map, >> .probe = mlx4_pci_probe, >> diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c >> index 90cc35e..76dda13 100644 >> --- a/drivers/net/mlx5/mlx5.c >> +++ b/drivers/net/mlx5/mlx5.c >> @@ -731,6 +731,7 @@ static struct eth_driver mlx5_driver = { >> .pci_drv = { >> .driver = { >> .name = MLX5_DRIVER_NAME >> + .probe = rte_eal_pci_probe, >> }, >> .id_table = mlx5_pci_id_map, >> .probe = mlx5_pci_probe, >> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c >> index de80b46..125ba86 100644 >> --- a/drivers/net/nfp/nfp_net.c >> +++ b/drivers/net/nfp/nfp_net.c >> @@ -2469,6 +2469,10 @@ static struct rte_pci_id pci_id_nfp_net_map[] = { >> static struct eth_driver rte_nfp_net_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 d106dd0..31f6733 100644 >> --- a/drivers/net/qede/qede_ethdev.c >> +++ b/drivers/net/qede/qede_ethdev.c >> @@ -1642,6 +1642,10 @@ static struct rte_pci_id pci_id_qede_map[] = { >> static struct eth_driver rte_qedevf_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .id_table = pci_id_qedevf_map, >> .drv_flags = >> RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC, >> @@ -1655,6 +1659,10 @@ static struct eth_driver rte_qedevf_pmd = { >> static struct eth_driver rte_qede_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 f3cd52d..a649e60 100644 >> --- a/drivers/net/szedata2/rte_eth_szedata2.c >> +++ b/drivers/net/szedata2/rte_eth_szedata2.c >> @@ -1572,6 +1572,10 @@ static const struct rte_pci_id >> rte_szedata2_pci_id_table[] = { >> static struct eth_driver szedata2_eth_driver = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 466e49c..72ac748 100644 >> --- a/drivers/net/thunderx/nicvf_ethdev.c >> +++ b/drivers/net/thunderx/nicvf_ethdev.c >> @@ -2110,6 +2110,10 @@ static const struct rte_pci_id >> pci_id_nicvf_map[] = { >> static struct eth_driver rte_nicvf_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .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 079fd6c..4d5d1bb 100644 >> --- a/drivers/net/virtio/virtio_ethdev.c >> +++ b/drivers/net/virtio/virtio_ethdev.c >> @@ -1377,6 +1377,8 @@ static struct eth_driver rte_virtio_pmd = { >> .pci_drv = { >> .driver = { >> .name = "net_virtio", >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> }, >> .id_table = pci_id_virtio_map, >> .drv_flags = RTE_PCI_DRV_DETACHABLE, >> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c >> b/drivers/net/vmxnet3/vmxnet3_ethdev.c >> index 8bb13e5..57f66cb 100644 >> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c >> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c >> @@ -335,6 +335,10 @@ eth_vmxnet3_dev_uninit(struct rte_eth_dev *eth_dev) >> static struct eth_driver rte_vmxnet3_pmd = { >> .pci_drv = { >> + .driver = { >> + .probe = rte_eal_pci_probe, >> + .remove = rte_eal_pci_remove, >> + }, >> .id_table = pci_id_vmxnet3_map, >> .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE, >> .probe = rte_eth_dev_pci_probe, > > >