get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 15074,
    "url": "http://patches.dpdk.org/api/patches/15074/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1470048332-27318-7-git-send-email-shreyansh.jain@nxp.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": "<1470048332-27318-7-git-send-email-shreyansh.jain@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1470048332-27318-7-git-send-email-shreyansh.jain@nxp.com",
    "date": "2016-08-01T10:45:21",
    "name": "[dpdk-dev,v7,06/17] crypto: export init/uninit common wrappers for pci drivers",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "b2543b83054c0c2ba96cb441a935cf3ca65b5cfa",
    "submitter": {
        "id": 497,
        "url": "http://patches.dpdk.org/api/people/497/?format=api",
        "name": "Shreyansh Jain",
        "email": "shreyansh.jain@nxp.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1470048332-27318-7-git-send-email-shreyansh.jain@nxp.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/15074/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/15074/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id DFDDD5937;\n\tMon,  1 Aug 2016 12:45:08 +0200 (CEST)",
            "from NAM02-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam02on0059.outbound.protection.outlook.com [104.47.36.59])\n\tby dpdk.org (Postfix) with ESMTP id 67FA6591F\n\tfor <dev@dpdk.org>; Mon,  1 Aug 2016 12:45:07 +0200 (CEST)",
            "from BN6PR03CA0036.namprd03.prod.outlook.com (10.175.124.22) by\n\tDM2PR0301MB0701.namprd03.prod.outlook.com (10.160.96.27) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.549.15; Mon, 1 Aug 2016 10:45:04 +0000",
            "from BL2FFO11FD050.protection.gbl (2a01:111:f400:7c09::119) by\n\tBN6PR03CA0036.outlook.office365.com (2603:10b6:404:10c::22) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15 via\n\tFrontend Transport; Mon, 1 Aug 2016 10:45:04 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBL2FFO11FD050.mail.protection.outlook.com (10.173.161.212) with\n\tMicrosoft\n\tSMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id\n\t15.1.549.5 via Frontend Transport; Mon, 1 Aug 2016 10:45:05 +0000",
            "from Tophie.ap.freescale.net (Tophie.ap.freescale.net\n\t[10.232.14.199])\n\tby tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tu71Aibjm018422; Mon, 1 Aug 2016 03:45:03 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; 6wind.com; dkim=none (message not signed)\n\theader.d=none; 6wind.com; dmarc=fail action=none header.from=nxp.com; ",
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.168.50 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;",
        "From": "Shreyansh Jain <shreyansh.jain@nxp.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<viktorin@rehivetech.com>, <thomas.monjalon@6wind.com>, David Marchand\n\t<david.marchand@6wind.com>",
        "Date": "Mon, 1 Aug 2016 16:15:21 +0530",
        "Message-ID": "<1470048332-27318-7-git-send-email-shreyansh.jain@nxp.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1470048332-27318-1-git-send-email-shreyansh.jain@nxp.com>",
        "References": "<1466510566-9240-1-git-send-email-shreyansh.jain@nxp.com>\n\t<1470048332-27318-1-git-send-email-shreyansh.jain@nxp.com>",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131145219059635153;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(76176999)(105606002)(5890100001)(189998001)(50226002)(4326007)(48376002)(106466001)(19580405001)(68736007)(2950100001)(77096005)(87936001)(19580395003)(2351001)(50986999)(229853001)(11100500001)(36756003)(85426001)(92566002)(575784001)(305945005)(97736004)(86362001)(2906002)(33646002)(586003)(81166006)(7846002)(110136002)(8676002)(81156014)(47776003)(356003)(104016004)(8936002)(50466002)(5003940100001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0701;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BL2FFO11FD050;\n\t1:N7Q2Wm2Fi1zv0PHxOuFP5OZq+u0NiRgiD7yaLJpMcTj0mmfPPyRiN6P+2DY28vs/5+P3xg/CTiRJ5bmbTrXdecikoDnB9eGE9SBmz33FzU8TZIXYk5e3Ajz10UpbYPvXWX4iO39/iAh+i6u9OXfFhpo9z6ur3yeLgNzntNNDHUzJ6mV8XoFrg59rE/HohWeGaNVMD9rb8yxv3wzOiCLcbnlXJeBlq5/2Cv/WGh4CBRgNGeLG4DoMPzS30r+yIo9UIUQjUnXxpW8QrBMNl4Bxc9kg9hegzS0FHC4NkaXImMCv9SOPmFTEI2J9Tt9vPTNQ7FTcY9NDO+ZA+C3Cgak5GfQxG7olaK87XoXuYrg0Amb1nxLW/R6VWXcdAMrZBE0+mMpw7ru5Rxc7rZkwewwFMmNPDiq3dQRnd6YZiK7TPEUw64oy2fJ2+YFSItOLm5xxr77ZG7lAMZpVItdWG8lTPjS3vyg11GaxgapS4Wt9Rs6OTAYReMXZIBL7+JfeparimHWDUbzKXo5qEhRn/tB4LkNIHhFbOT2wjqgMx/3kD0FzmWxo2eR4Nvj83wQ1rgr5bUAx+LNZVEA+P3DavD6y2OcsZnRzpIDOaHiKO397658AIhVd3J4hesVN5M4SuqNT",
            "1; DM2PR0301MB0701;\n\t2:Wk1iTkEjPqBWQ6d8FG+7QD2W2RXUpR4662ZC5cjZrAl3dadM4dw0QfKuLidaPK7W2vGRsYL5mn8kcJ4cfPwy+3VhJhVYvpELvGCjFnJ8DbhpO0XSS3Nhqi6unIkwvmE2epyyA0ySgBYl+q2fOf3tU6YIH2MTM4gjdpvVMTQSTf4c794eW2nnyvZBY1j8AtHp;\n\t3:Ed2znbaBXU5P0yS6dAM9rOkxZa8mGOi+gYZh3z/8wlFiddO2YT+VG1WtAKPel8LniGCq143XYzbb8odK2ebRNkzauE/gW23apKzjNI4hH0L0k7umXVm4lMC1w9Noyv3RVoY1pPopv0yfUbB62TWPeOxTJm4JcNf40YCBK2Vk7QZCjkbvPIuTIenOr+Dp3lAMrnTOfxBC4TugGetKs3H5QeJD24h+45/RxqUqNYvT42k=;\n\t25:zCdD7wqDaH24UxOYH3LJsGP3PzqiyfzfK3Wquj++7nLlGwCCvkHA3AqQJCtGJ3vCG8JrIhiBiOCJ5FF5Mk953odpaZInglmuOiPr0R4iz+EIqynW2PGxMLTba6LGALWT1BixYThnDaZx+B7Xfqz6hZXSoHN4QcCJpMWkXfSzHUzqiBOgKv5RDyZ/IBI/0zNx31ZQM1Qcc0CgkMmE//4Z4aG52TkO4vCNDrChy9dv5uXUHJJWvapvVB9wa5mKjDIL/RIWHyvTjc6FGMAIn184ovgwI0ybLeh5wn/SoORgeIqh1Z5wM8FoZ/sxjZOY/yny9eprMDS7Bpfg+E+k44YIVnSMBsczObWoBwO8yERpCzu1uFlgjYMJ3hmSgMA4FC0KOOyRfUOXYlScAsQurv+h0brdRpavKqegPyc6L9OiJYQ=",
            "1; DM2PR0301MB0701;\n\t31:O8mFG+eRFVEPW8QDAp5dAJJPSSoKAYeixh90O5RXdBG2gqPK7FQwUdQzhomvxibrBGV+LCb0fN8Fkvzf1yADWnwL8Bh+g9r/zjqs6VStUtrIGOrZ4CaKVcIBdrcKJRnK23Vj5IGi8F9tX624i/xBIFoxTEfDDYiYt4LXRSBhv6Bl3UQIbMfitzBd+PNmu2q+97PsTkDhworCa9sYrrBFLw==;\n\t4:EBzqu9lmQMf3pHREgqpbP0RdMbUQnMLqJMS5ngtQy2bukWAAZ1+MCMpXdmUqZXn37s80FDQ9SyWsQUBCQqnJ+24wpQ1eA/imfgMw2IMszQ2VMngfSKGqQHLXmixQrQ5s5tEQ9mEfcR6c8wDcW/Sy1IVa2Xqq9HpHjiwvrSTj8t0pIi/d/gsoV5cE0xHoQL5iscVorJNRUnEYrP7DLxsvDb668ISOL3lBK4r4pG9NCjaoocrOtesI0gOfjabwaZLJzmUY5xq9tOLNd9n/6sP+R98LwbF4AYH3Qj3Ots8j2tQw+eWnesgfhsIO8M+iBOe3IMEFFR0SSGH8mfTUf/qmA1J+1CoAk/FjUm0zLx8IgFVxD7QRhphpZAHb1knIh28ZLxDw/JiC5xtQKeSAN1IT3Ok6l1iBKoX5gnwh2zuRZo1UrMLL6VLGE/a+SrOkYzznl28jCTdnEIhsFfwwafQ1rx+R3CzPieJajD+5B1YPZ5/H4jIR8nB+8pSDShy9ZTyqBjKllMWtPG/N6rJgsI3yFA==",
            "=?us-ascii?Q?1; DM2PR0301MB0701;\n\t23:02idOXCbjC3G4Bjvn2wpZLm98Your/H/eGo6vXD?=\n\t=?us-ascii?Q?kr+qNsdvyn2XWSaL4aOsYjIAZ3OGeyKBrwqmd+PbldUtaVI3KMpkpYkG/5ln?=\n\t=?us-ascii?Q?ThPMi9z4rWeCy7Y4Fi1lAwfcehHdTpwNmyRU0sWpBXZrvZuiSJkqVUOGmMhr?=\n\t=?us-ascii?Q?ODgybPzDmF7zJLdMaSpL8HRUutCxVhzI/clXDjSFYZboLPy5xjO4yf/wd3hR?=\n\t=?us-ascii?Q?YmpCkLUottvgQYDVHS0YJC46ArvGZH+8lN/Izl3+/v2Zvmqyzcc3xtC2hHCk?=\n\t=?us-ascii?Q?z83i8UZYyMKznMUCZctTUk1LRBvgVnqBSsdd1qI98MI7VLSQ9DXRTIJ0hMVu?=\n\t=?us-ascii?Q?+BMVvCjUVbU2qdGT1O3zWJk8wZ3BVVIKbbHE4szQqOUd+U15vgpZ0PSL8iun?=\n\t=?us-ascii?Q?O8RXpkH39gnhE0qgw17ubWjDoPd6L1lZDFz56ccNHahelqmJJEEZ02mKFzcz?=\n\t=?us-ascii?Q?9ZAUyGuBqLfsiIO/VoSLu2UOdVCCMOGMRJFQhfbF6JOmxXCOKJcWFyQ0pj6f?=\n\t=?us-ascii?Q?RBQMbaVDOggsWlHdWLTTsyF498+uUpf2/SVAXLkXuHbx1NJEEcCaq5oih0fB?=\n\t=?us-ascii?Q?lN43EMaOFGGWiNLfiuuW+sRKOD/prEfGWvIn/N7ohBdteLxFZKszUYtW3IRz?=\n\t=?us-ascii?Q?Ls7JEGy34j6+atCtDihCQYx0UZvUu4m6dNtE8FF4GUXKqxP751Xje28x/qMy?=\n\t=?us-ascii?Q?sIh9Q/09hJYdte5MV8j+y2JzvBbMVOpwJm2fxso4A1zlm0tEBcwnvMSSPl6J?=\n\t=?us-ascii?Q?NTW+j/+fAb+jgA2riizEEu7SmnFS/LaRO77b7uuieHaEUjBEtDt5qiDYO6C1?=\n\t=?us-ascii?Q?vXu0Ks3tQWwgEovsgRA9qlP0/u1cK885TMh+XizRC6nd47kFwDYSpc/v80GV?=\n\t=?us-ascii?Q?AdOfgQtgbP52wJ5gyawlVqYnJ/3XgnufmObMrLuibDRpejD+Kicvrr3cAtwj?=\n\t=?us-ascii?Q?QtAH35AZzUqXrDJXYklIniPPZ6n8Gaois1/h6WAhr21loMf13O7pZRjjugsG?=\n\t=?us-ascii?Q?JZmuXFw9n/Si0sQSYT4ITR0CtQCIox9FK6z5frBp7YsenXS13Mj6I9J+aH98?=\n\t=?us-ascii?Q?58dCG2sCytsblb8QIxEqtnH7WSNQTfCbLs/VflxTo4DMmRUsar4qB7nCgP+4?=\n\t=?us-ascii?Q?AGDuiOxq0AfodPl5tFTqViBqGfMhgYe//?=",
            "1; DM2PR0301MB0701;\n\t6:n07DaEml8Qzu4lCgSUBToGftdY+6DFDpsanB42qIQ+3RP1v4mmjs2fMBTtG4N5O8t0Ur46opEqKX8Op1xmRngQ/omedX1/iz1VpPj2C8BboCKtkQZubd+FbnUJ38UIcsFzCu8iXQRF4n3/TZRyp5Q8aVjg+iDdpm8eb3Cu4npByHQAwwbeGJxFHuBnReXOGPVzP7TDWM4BekkEQa9HxL7Ci0eUkLzGYu3eO2gado4ho8lxrBC1tGWinDoC5KOfXnHo0ZLZ1ZaNsCZMPbKtHIk0sEgQQO6kCvAbkmco2tLno=;\n\t5:DDtfru4OXZHxCvZKqhF72R68/yQYuc/AP1P/XVyVchP/jHvE+VjZNa65aobYmOIVsndm8s9hjGn2w52Y/Lrxe6SoiYbVS0h9PSIMfAWxI9lmtngEfDY0lb3l8a/45t4tReNB9mo58mMjTgNGx2SBn3s7a3x1PyUz6SLxydC3OH4=;\n\t24:ZVc6emy9H+j7Rf4RmGhGwVL89j7YPrFpAG870f/A6KOYDkhYDEwpAHzvukzBsar9hI415/J33BoRunmKBO4Ozazrdbs5Gt9O59cqd4mHoAw=;\n\t7:bJQD8QuZa1UURmDALzrttaxoeNhCJ7W/tiHzeVjYiwlNCY/BPOXNpazyrXvOnH8LWW7umEj3+Gmoo5mQq6IXFTkCHz/D2iIKWqemGvS8Tf8hfHI1kykYLfw0RMgvmnw5LE4b5jmTU0apVwpByMUcGphapa2eWvUx0d17GnbOoxiZnvNo5sagNnBVo753TrGzfqQmSsepYkKgzKDst9uTvqzE5SnT5HKb6vijy005IBpkqSUGMS963FZvDAakAX/f"
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "89e1cb99-e24d-4cd5-f272-08d3b9f8e67e",
        "X-Microsoft-Antispam": "UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0701;",
        "X-Microsoft-Antispam-PRVS": "<DM2PR0301MB0701AF20D389D1D114A24AD990040@DM2PR0301MB0701.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(601004)(2401047)(13023025)(13024025)(13015025)(13018025)(13017025)(8121501046)(5005006)(10201501046)(3002001)(6055026);\n\tSRVR:DM2PR0301MB0701; BCL:0; PCL:0; RULEID:(400006);\n\tSRVR:DM2PR0301MB0701; ",
        "X-Forefront-PRVS": "0021920B5A",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "01 Aug 2016 10:45:05.7763\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.168.50]; \n\tHelo=[tx30smr01.am.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM2PR0301MB0701",
        "Subject": "[dpdk-dev] [PATCH v7 06/17] crypto: export init/uninit common\n\twrappers for pci drivers",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Preparing for getting rid of rte_cryptodev_driver, here are two wrappers\nthat can be used by pci drivers that assume a 1 to 1 association between\npci resource and upper interface.\n\nSigned-off-by: David Marchand <david.marchand@6wind.com>\nSigned-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>\n---\n lib/librte_cryptodev/rte_cryptodev.c           | 16 ++++++++--------\n lib/librte_cryptodev/rte_cryptodev_pmd.h       | 12 ++++++++++++\n lib/librte_cryptodev/rte_cryptodev_version.map |  7 +++++++\n 3 files changed, 27 insertions(+), 8 deletions(-)",
    "diff": "diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c\nindex 6434894..b1e82b6 100644\n--- a/lib/librte_cryptodev/rte_cryptodev.c\n+++ b/lib/librte_cryptodev/rte_cryptodev.c\n@@ -429,9 +429,9 @@ rte_cryptodev_pmd_virtual_dev_init(const char *name, size_t dev_private_size,\n \treturn cryptodev;\n }\n \n-static int\n-rte_cryptodev_init(struct rte_pci_driver *pci_drv,\n-\t\tstruct rte_pci_device *pci_dev)\n+int\n+rte_cryptodev_pci_probe(struct rte_pci_driver *pci_drv,\n+\t\t\tstruct rte_pci_device *pci_dev)\n {\n \tstruct rte_cryptodev_driver *cryptodrv;\n \tstruct rte_cryptodev *cryptodev;\n@@ -490,8 +490,8 @@ rte_cryptodev_init(struct rte_pci_driver *pci_drv,\n \treturn -ENXIO;\n }\n \n-static int\n-rte_cryptodev_uninit(struct rte_pci_device *pci_dev)\n+int\n+rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev)\n {\n \tconst struct rte_cryptodev_driver *cryptodrv;\n \tstruct rte_cryptodev *cryptodev;\n@@ -539,15 +539,15 @@ rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *cryptodrv,\n {\n \t/* Call crypto device initialization directly if device is virtual */\n \tif (type == PMD_VDEV)\n-\t\treturn rte_cryptodev_init((struct rte_pci_driver *)cryptodrv,\n+\t\treturn rte_cryptodev_pci_probe((struct rte_pci_driver *)cryptodrv,\n \t\t\t\tNULL);\n \n \t/*\n \t * Register PCI driver for physical device intialisation during\n \t * PCI probing\n \t */\n-\tcryptodrv->pci_drv.devinit = rte_cryptodev_init;\n-\tcryptodrv->pci_drv.devuninit = rte_cryptodev_uninit;\n+\tcryptodrv->pci_drv.devinit = rte_cryptodev_pci_probe;\n+\tcryptodrv->pci_drv.devuninit = rte_cryptodev_pci_remove;\n \n \trte_eal_pci_register(&cryptodrv->pci_drv);\n \ndiff --git a/lib/librte_cryptodev/rte_cryptodev_pmd.h b/lib/librte_cryptodev/rte_cryptodev_pmd.h\nindex c977c61..3fb7c7c 100644\n--- a/lib/librte_cryptodev/rte_cryptodev_pmd.h\n+++ b/lib/librte_cryptodev/rte_cryptodev_pmd.h\n@@ -534,6 +534,18 @@ rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *crypto_drv,\n void rte_cryptodev_pmd_callback_process(struct rte_cryptodev *dev,\n \t\t\t\tenum rte_cryptodev_event_type event);\n \n+/**\n+ * Wrapper for use by pci drivers as a .devinit function to attach to a crypto\n+ * interface.\n+ */\n+int rte_cryptodev_pci_probe(struct rte_pci_driver *pci_drv,\n+\t\t\t    struct rte_pci_device *pci_dev);\n+\n+/**\n+ * Wrapper for use by pci drivers as a .devuninit function to detach a crypto\n+ * interface.\n+ */\n+int rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev);\n \n #ifdef __cplusplus\n }\ndiff --git a/lib/librte_cryptodev/rte_cryptodev_version.map b/lib/librte_cryptodev/rte_cryptodev_version.map\nindex a08fd20..1fc0d57 100644\n--- a/lib/librte_cryptodev/rte_cryptodev_version.map\n+++ b/lib/librte_cryptodev/rte_cryptodev_version.map\n@@ -39,3 +39,10 @@ DPDK_16.07 {\n \trte_cryptodev_parse_vdev_init_params;\n \n } DPDK_16.04;\n+\n+DPDK_16.11 {\n+\tglobal:\n+\n+\trte_cryptodev_pci_probe;\n+\trte_cryptodev_pci_remove;\n+} DPDK_16.07;\n",
    "prefixes": [
        "dpdk-dev",
        "v7",
        "06/17"
    ]
}