From patchwork Tue Dec 13 13:37:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shreyansh Jain X-Patchwork-Id: 17910 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 045A45683; Tue, 13 Dec 2016 14:35:23 +0100 (CET) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0055.outbound.protection.outlook.com [104.47.42.55]) by dpdk.org (Postfix) with ESMTP id C9AC1316B for ; Tue, 13 Dec 2016 14:35:02 +0100 (CET) Received: from BN6PR03CA0003.namprd03.prod.outlook.com (10.168.230.141) by BN1PR0301MB0739.namprd03.prod.outlook.com (10.160.78.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.771.8; Tue, 13 Dec 2016 13:35:01 +0000 Received: from BN1AFFO11FD043.protection.gbl (2a01:111:f400:7c10::197) by BN6PR03CA0003.outlook.office365.com (2603:10b6:404:23::13) 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; Tue, 13 Dec 2016 13:35:01 +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 BN1AFFO11FD043.mail.protection.outlook.com (10.58.52.190) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.761.6 via Frontend Transport; Tue, 13 Dec 2016 13:35:00 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:811; Count:10 Received: from Tophie.ap.freescale.net ([10.232.14.87]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id uBDDYRwA005048; Tue, 13 Dec 2016 06:34:57 -0700 From: Shreyansh Jain To: , CC: , , , Shreyansh Jain Date: Tue, 13 Dec 2016 19:07:06 +0530 Message-ID: <1481636232-2300-7-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1481636232-2300-1-git-send-email-shreyansh.jain@nxp.com> References: <1480846288-2517-1-git-send-email-shreyansh.jain@nxp.com> <1481636232-2300-1-git-send-email-shreyansh.jain@nxp.com> X-IncomingHeaderCount: 10 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131261097010468121; (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)(336005)(7916002)(39850400002)(39840400002)(39410400002)(39380400002)(39400400002)(39450400003)(39860400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(8936002)(48376002)(8676002)(81156014)(81166006)(86362001)(50226002)(47776003)(5003940100001)(50466002)(76176999)(77096006)(38730400001)(50986999)(92566002)(68736007)(4326007)(104016004)(6666003)(5001770100001)(97736004)(33646002)(189998001)(106466001)(105606002)(85426001)(8666005)(356003)(36756003)(626004)(305945005)(5660300001)(2950100002)(2906002)(7059030)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR0301MB0739; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD043; 1:bpXsoGDbR8MPxjF1DnWSDtaGcYcQixc0vgkzTwbo/kJOEh+7Xc5FAjTkDgWUOtpzNL4P/qOt/KC7S523S1Y6RUMZhcU5ANpA2uCCQML6stbiCFZO5jwkmxSs5g6smi7ty6eZ1XpSAqWPcw2UgTigky6VxANM2VaZZDjQ4KRrTHaPM3gILZ/lwyyfCSFcp6CNdFTWBKyfvCXk6t5VYms42rozX3dCTWpEBIxJ+yMHnjCnegTkVLMCC36vxH/3aKAzlHwLKC+8OzFGmbJIj4WZua4DZyBpU6TbKNXGXQcrc7hYvGe6hdXG3ab7zbUXF2K9M8gN38TcujQm/6jxNw6F9ljRuAERVOCjQTq71UrDbRJJSQA7SuLSYNMJFGDYNsbpz1cpDsghfgkaAVwqq49O7dZ5p/A9W9yFYVismABVKUlswvscapU/qsA/iex3HwYAs+5oznuycomqgCUJWo2kBx0q4xNm49QRZfB/Y0AXR+dP0ypmJLsAme/nzY6XW6FS6kzG8CGrUDDaM2vIT/NLgre4NYOHD+/u5aZpbFt6RqaNj5C70r6ZfYXM3oibVQFLOh69bpFDlAIhDhsyyNdXzInTYzpOFU/2YUFbikVgM0zBRCP1/wl1P1wqdAempSSgk2zQLe3G0pTCMEqKclws1qHNleZcIJroPHgAB4H5+GZq0U859ANbLJN1XY+7GxMW3xOsqpU/x7X5NgyBOTssjn/TgQsc6QOxfY01hi10xXGnd8HjXk5tosFEDKLsWbQ59HaYkTbHcIYBF5yhDn+QTQ== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 0dfb36c1-122e-48cd-0a11-08d4235cd687 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN1PR0301MB0739; X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0739; 3:xzyMwaF0zryXpT8sukbhGK1ZSrc/wFDUQhQCe6oP5ZfdKVJJSE08c7He/fY8O2pnJIsHYKh1RriyM96fj4EN6N+vIgKeUoN8Cn9mx1reTzLsJFlE2LTdjSdv7jrKgFkirwzfJoOIcfaTrpZyutQz7qlq44kUTuv9izVTHr2cMHIZNc+89QJUKcgAAEl1oBTl818G/S13P0mP/UrfXcTRC07aIrb5NGdydSqeMv87CjCv7mFl4dGqlc6X8U0Fkl1K7DGu5UIgB91pkxRNGyYNQmWbiZNtAQU9lcGN8h5R280WzCzdpD2AaqkUScSyyHACirhc3enTa/KwIaOcnK5LZO/TYiY1kCJx6tNV/AvwplkP6B0BbmKe4qcWUpG5vjYI X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0739; 25:4FjFIijAa2CQkBHVz1S9ckl/lZ/vTN6bpJD52WNxFEkurSe0wKmvoSdhSfVgY+WMDJtj7nyEHOqGh+bFbFSroPe+Rb6cLAndN+VIbNoKmeVhTuqixYvsoTl7+sayWZ1MpKf7bKE3uNIHx9N3eROTiyhjbm5fpWe9JVWM+SFp00TxWSBWonDrrFcy7n0kAHDJDjnxtjA3WJp1hcg5NDLqVkEdOf3K3gP53ycA7fPJpj6AxfsChKXwaReIi86nhHVHdq57NLVnKOgjQ0vOjzsOk/k27Rw1l+h3oj2xRhJgAFcuu2ma1PvrnFvDBra2PYliiBDHJZifWmW/FJqwyjRtuBsIEGVF6j+RRP0BRjBUB5ECojuXE4R+XS8ZilFcKZ8KNXLOxgTe8qSeAOws6N6+j1fuyCppn9TlJ6qPQG7wd4OaZFz6lLfyqN409Zl6hA4E7LVccNq3VyTZigEVQot6QnoDGWmVnlz3gRu5JCmkI+XckP+glWTsD3ITjRogKv0+xPecIq//aS38ygH/M/3AVaanREng5RBTJKK/yDGEpxV+C1O8jewGvvi8FA6nmYwAkrjJBG0sCDiavNk1MQn+F3Hmjr5YcirGKCUuLWs2suzl+MrrR7fCEcwoNJ5nSAslR1Yl5XFkdqoVnGrwwM1Ha1xrwLKe3WTmOAykX/pBylLV8V9O0FuH670Z6+30uzza+sxpklEIzSeyEKB4RwqtW8YTfdTJTZjKdAoMVLvLxI3wheDJpI3PPXk/RXr1OXGnq1mxWTx/exv6AfckyodyryTe8ulcuaAbUOk2h2lB4xY= X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0739; 31:ktVYcE60Gx9iJ7w6qzzyXbFMnnE4lP+ju+F3SGplloA6jrcKZB3WU4M5pFw83qRIkCp+JlH+mBUnDHY+T1dygMuNn8fTd1/yzHks0/UYKMwOAnqwDgkzsYDSc28S0u1CdtxmRJMtmRWHu3ak+XPsDvKEj2SjxYSPfzZvzDwd1Pc7g/mF1moKfTtylkdIARNyWYyECyBa/EcTAy5jJWi59XuPcUyxYTUG0LBQGuTiVHpJrOL2aUgqlEZdySZTKOHoqPG3dBwD43uqJrBSpEqG8Q== 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)(13023025)(13017025)(13015025)(13024025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123565025)(20161123563025)(20161123559025)(20161123561025)(20161123556025); SRVR:BN1PR0301MB0739; BCL:0; PCL:0; RULEID:(400006); SRVR:BN1PR0301MB0739; X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0739; 4:9El90fKrdzvr0TmeAkGiDNcxbaSJugC/0XlRfcHw6CqdGHj6T5hj++IICQRTkTnN+FV7KyZb51+mnOyFmDCNsOkxYsMH/RLWPbFGg/CfdIu972JH78GYPRz6rtRty/2ku586u/WiCpa28/aBPotSNhbUK4OgwwWHUlgpo58/gjbZUS0MygOdrmupzC/oajhlYr6z6tlW1/w6LrS1ufdig25XQ9RjacdHz4X/+w/04IWEvCRwYYKD19E2Vba1LaQLJmRsxyNfXKAe0vrlLatdx6UzLMCg5GXpriTm+G4cAk9/U625VvZG+Lzr4AJ5hDHcw3fzENBfeFFvvd/4Kah6knA775waYQGwGpr0+uj4lBqYTDJInJUTzkN9iYQiMJH8L+hqBRlb+08RQV31nVVgFCRgoJgc39fK+D36k3oT0wD7mpY4aWP8F8VSx8j2rsvkn/h2BqcBzy/+ceVG1pbPnjN7gAhPR3bnljSF5VG6NpCdfAofEUv4OO1C43Htb/bRY8xqeitVWgTors9tYhyPvwYNKEsFUwrovbmUn5srplpK2YO0IlF8PHRc76BfiPIwtefoJGcFqaAgFrTVTMB+sxa9eX39PyAYdCXN7Da/o9qmJrY0C07EhWSzUkXb9GGZsK2qcp+3DysGDL7EFg4Gz9s5tfXIN+k2+v7M4qFXZ7/P+R6zTljh6tYTltHQWyB2Xb0cLthi3lafYz6PBcHgVwg7pdKs4zTFrsMYql1rp120hqJowlfOSR24UvBAHHrX X-Forefront-PRVS: 01559F388D X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0739; 23:3FDJfCpFnpaJL2IBkCcf+lY1KtIX5UbGtZondMe?= /amWwaaUvTG8ntTkqfAPA+9aP5/VtBrJMRvN2YyBkFYf9qokW6uKI8PGLwaih9dbOPWWuSiuhEwKzEtjV7akaWcmJdEKAxPAX/wujamZuXglGXp7tsMbIbSaBceqDdXCdD5QFeYf5wkf2rIjziX9B/Uaz6SGDvO3T2b38VDQIdRXyxF/Tpq8CiCZkSG9dfTHrZl5IijPFdT8cEZGBcrkri9fs+ExYy+o2/We88LDXuEHbBQAGdh3Ja5/XA8L+wgCLclNR7Re3BqaYtP2OMOsEQ5y/hVj+qN3dqiWeCfCH42+eLl1o/IsMeh5JSurTY1+ELTJMEF/ywedqpBVykHgfDdChvYYW322b7rtRRp17ZZwLeSTYN35+SLFjcAw7f/5SIgNAbUkM/IRc+iD/8QBhGC6d8CIlZstZhK4Fj+k2eat/MtdmVOtAQNz5ahblsKNRz8WRT9Gs+RbYX8/dfxAncyxJs7wYXFABYmLi3Qo5CQoEsjKi9wRY7hGD6PRAYcxco5avEXhAAu3S7jFzdUYvnZJC1grTywd73k6thVwuOoQlEn2lYdNpyRHlQDSLV53Sreaay8A8HdBbyMnmF5HgtN/vT5jwWigFGShRlU53geS7DNh5d5uOa6WaVFIbaR2IySil32LDRz4gBLgAKGdnT4OQSs76XMMeoJ/bFWRDzzjOgweJEocDmpDue+uuY0uk0xJkc+olUyijlD3kBOySlL5s3aBIAyT0wc8e3jk4XFNCge1JgdgHQz6aLZ3edsXdEa9rZnBTboGUva91+FSKnXV7rSx80rMm+myiawRv5sGhUIH8u7wh/v+7QqpEWGjejjsXlng8zz3OGT8tVCswEMfXrivwHeAMRUN218iMsXaP9Zq6h/Gbdy/KBJVk+oloZhhqUsESHG3Mvh6m7INsT5KEdLyeWBoHjLMk3hNPTftO4yPWZpiLDT2uwhJLs6RZ2p2plM+opj8yMcgymry3iG67+gCwjmaw+DKSNPHL3LGI0GvwlcpEliSyhO9rUxYQ0j+1tBDWQ1DaHIh6MYy1dwBlBsxW/Ohubw4gyRMfTV8bfxurFmRurYohYTn0EUo+5xbA/ylQVw8hOPk5MNPEIEXPUSjGCWYWjZ5aH4s/dejK7+WCW6K4p1UYBmeKtOMsTtqu/hCCfRvk8WAyB9w0g9I7tWw3Ok4xT8NHuQsviH8r//k0vFqu3vwIffpEp9r/bOQ5Pu7oyfacyBc1foQYKWx3 X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0739; 6:nq47zlHEK/v2UzOJeVfrw+C0+ZsIHwH88wvxqrz2pE74buTKqLIuJ3TpFlShvaHzPj9l0m98Iza1+Pb+AyuUI5dbLad+lhyH6okqPR+s+JdAI2GTT946VA+kCp23uDh+J/zUT0C/243XWVdVqnf9Qo8cYPo++QFA3b/QjIyqtv9h6Lmd89LFaRrgvoToA8Bn3AbqZnyptf+I8Seu4sWxuFxKfx2UT8DishCWUxb3smDYzhlcDu/nPWJpSj2MXL+C+QZgjFi6FAvLlcLksVK9fOmMYMRDUSQx0O1C0dh5gfE1WEJ5KUfk5cSWMUgJxyajN4EAlvOfLWRBdJpj2y5eDNSt0M+abci3ZgvJ3SKn+TikDJkSh4+n34AnxcIoqFFngH7a1LluKhMJHohTW5FCgUCX5ECV7t39FKZVYPwyO8SQK0CZz37jTub91TIavIl2; 5:fZ/mq2cn7ncwI56I1/7w2jIFV0GklNtLgAekISgz94ye6fBhKg1V2hlY3X+TVvSUALCR1Id9SJpahH6wt/Mj5tLwFq8b5Z7xxfgyqBJOUgpKPaPmbmM/Lk+tghMHTaEHhOnAMKXSwAZGjFP4CEiQ3bEw+WNvTqarKsIKrMj9cwssJNwQVEEnZZGJ61F/8OEn; 24:HpzMewGTg4LXvILfAMCRj8VCsxz1r3cwMfdqXtONLrGSG5TN2EfpmgBaYuz45sVvBIG+eC4hzxKaYsIO6+WocHuJvmoutg+4IUv5mPAfbl0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0739; 7:0VTz91lNuiPxuvgfqcxmkGi/CUcirblojJwjI3t13mnQHUc4ME+SzJErypD0JEWJu+DwkyFZ5Qa+xYv4v41JQWFzCaAoJXrPz8sUftrkCqWSECrYv3hKFzKndotZzbXZrrOq3t+eL8rKK4bkiyULkpGD5zKDwbKu5EQJGM5C0bTdMTNuKoW1OR1redcdDql6EGQkgPcCJmR/PxILRvLe9xgcHB2eUU3yH34kp/ZsjICPJ69v5Qmkaj85ZWQuS09wf5cZ/ds3U0s4C2OwYVKtiixBDsfoF5AFyk5kD/eEeUrLpri9/DMTe8VBS04K5oMgO/dg1k/mwJq8E3J8tl31SHmtg5eS8t+KiRPKbcbU8p2gpMwdn5ZQuIHLz22C+/L38jN6AncFzTBn/DFFzMx+dGyUPIuea417V0kve9eH/vUgMlfiqLRcEtgSVi97VDdCzfdQq9L5ZVmXH+YzMAoy9Q== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2016 13:35:00.7504 (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: BN1PR0301MB0739 Subject: [dpdk-dev] [PATCH v2 06/12] eal: add probe and remove support for rte_driver 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" rte_driver now supports probe and remove. These would be used for generic device type (PCI, etc) probe and remove. Signed-off-by: Shreyansh Jain --- lib/librte_eal/common/include/rte_dev.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h index 4004f9a..7d2ab16 100644 --- a/lib/librte_eal/common/include/rte_dev.h +++ b/lib/librte_eal/common/include/rte_dev.h @@ -145,6 +145,16 @@ void rte_eal_device_insert(struct rte_device *dev); void rte_eal_device_remove(struct rte_device *dev); /** + * Initialisation function for the driver called during probing. + */ +typedef int (driver_probe_t)(struct rte_driver *, struct rte_device *); + +/** + * Uninitialisation function for the driver called during hotplugging. + */ +typedef int (driver_remove_t)(struct rte_device *); + +/** * A structure describing a device driver. */ struct rte_driver { @@ -152,6 +162,8 @@ struct rte_driver { struct rte_bus *bus; /**< Bus serviced by this driver */ const char *name; /**< Driver name. */ const char *alias; /**< Driver alias. */ + driver_probe_t *probe; /**< Probe the device */ + driver_remove_t *remove; /**< Remove/hotplugging the device */ }; /**