get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 46308,
    "url": "https://patches.dpdk.org/api/patches/46308/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20181009001616.10497-7-thomas@monjalon.net/",
    "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": "<20181009001616.10497-7-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20181009001616.10497-7-thomas@monjalon.net",
    "date": "2018-10-09T00:16:16",
    "name": "[v2,6/6] eal: remove deprecated attach/detach functions",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "f1901ddab7da3d656edbec9eb76a98e51511ee05",
    "submitter": {
        "id": 685,
        "url": "https://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20181009001616.10497-7-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 1766,
            "url": "https://patches.dpdk.org/api/series/1766/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=1766",
            "date": "2018-10-09T00:16:11",
            "name": "replace attach/detach functions",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/1766/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/46308/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/46308/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 3BE991B43A;\n\tTue,  9 Oct 2018 02:16:37 +0200 (CEST)",
            "from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com\n\t[66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 0A71A1B3DD\n\tfor <dev@dpdk.org>; Tue,  9 Oct 2018 02:16:28 +0200 (CEST)",
            "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n\tby mailout.nyi.internal (Postfix) with ESMTP id 99F1821FDD;\n\tMon,  8 Oct 2018 20:16:27 -0400 (EDT)",
            "from mailfrontend2 ([10.202.2.163])\n\tby compute1.internal (MEProxy); Mon, 08 Oct 2018 20:16:27 -0400",
            "from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id 89243102DD;\n\tMon,  8 Oct 2018 20:16:26 -0400 (EDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n\tfrom:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding; s=mesmtp; bh=t6gF8aaiTJ\n\tt4F7TJ43d1hVbGw1KITkmwza0AA4RGd8s=; b=CQLxvG3gb8g/oH/MrNFmTnEex3\n\t4q9hY/odupizA1EnSPn36rrmlWKkG3Gfwu8MoiTYTkNmLW15/AakUWEABE9KfDZg\n\t1mR3eo+Lfh5uJbGOykEfdar7H7LY6LH0BoZZRNZI29NZoSFvHy7bqCS0xmeDdiUV\n\tWwMot0uS4Dx+b+9UA=",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:content-transfer-encoding:date:from\n\t:in-reply-to:message-id:mime-version:references:subject:to\n\t:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=\n\tfm3; bh=t6gF8aaiTJt4F7TJ43d1hVbGw1KITkmwza0AA4RGd8s=; b=KF+k5hTM\n\t2luXzbW/n3eXevufVQXYh/GtCjS8yU0af0X8cq58qOs1TiknyvI9aBsxQ6DRKoPV\n\t9rfStQ4xQJqNjV74fftTMvlujX7/zMTw4S67VOwLKrg7nWEqU0AjcJsUZj2DasGP\n\tOBf/UdOKMUvC1iqoUY6uuYvPSGJSF9OILc8eUqYho5kanwzuKrwYXxNde7l3bo7q\n\t+SxNnk1rcQVbkPGB/fy3bzOYxWOQgchPJ8HfEfc0+xslBaLFd1qnG2wbQdF5c2E5\n\tySazdKX8mGDG805zSUShHSRriJKeDlbws3WkLfieN7GluTiB43KpSBoLzsyXLaPD\n\tSGSxFMI65zD8UQ=="
        ],
        "X-ME-Sender": "<xms:W_O7WzHEdyA7YWjkFEQFpvQdFtzYGX5JlP95qj7-djgF9YrS0UiDzg>",
        "X-ME-Proxy": "<xmx:W_O7W9LrA_iYns-rrKR1nz0oH8hyxLtIIZgCyrUUEgs51WcCNH3xUA>\n\t<xmx:W_O7W5SVs6sZNcCEuryx7JbH4ELpSUUCWBGhug87Sqd7VMvx7NLosQ>\n\t<xmx:W_O7W9qxHB5Z491OmcBTevqnzpqWU3Ks9OwWtMyVJUa-gJ2mfhBaLA>\n\t<xmx:W_O7W2pWKP5N0jezgwthStCydL5_eD_oirN7uyNsSn9zWki6Afbc2Q>\n\t<xmx:W_O7W_MUcnjbCEeu2tvZvT0DG6RAnZ8PliYiZqQKGjeILlFQ3y9dXQ>\n\t<xmx:W_O7W9zgiR0By_hL8BFLgBguOsSZRMHFA7-_2zGN-RrXqxtOjEq1aQ>",
        "From": "Thomas Monjalon <thomas@monjalon.net>",
        "To": "dev@dpdk.org",
        "Cc": "gaetan.rivet@6wind.com, ophirmu@mellanox.com, ferruh.yigit@intel.com,\n\tarybchenko@solarflare.com",
        "Date": "Tue,  9 Oct 2018 02:16:16 +0200",
        "Message-Id": "<20181009001616.10497-7-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.19.0",
        "In-Reply-To": "<20181009001616.10497-1-thomas@monjalon.net>",
        "References": "<20181007222554.4886-1-thomas@monjalon.net>\n\t<20181009001616.10497-1-thomas@monjalon.net>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 6/6] eal: remove deprecated attach/detach\n\tfunctions",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "These hotplug functions were deprecated and have some new replacements.\nAs announced earlier, the oldest ones are now removed.\n\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\n---\n doc/guides/rel_notes/deprecation.rst    |  5 ---\n doc/guides/rel_notes/release_18_11.rst  |  6 +++\n lib/librte_eal/common/eal_common_dev.c  | 53 -------------------------\n lib/librte_eal/common/include/rte_dev.h | 27 -------------\n lib/librte_eal/rte_eal_version.map      |  2 -\n 5 files changed, 6 insertions(+), 87 deletions(-)",
    "diff": "diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex c24506dc1..c6bcb5e6e 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -64,11 +64,6 @@ Deprecation Notices\n   Target release for removal of the legacy API will be defined once most\n   PMDs have switched to rte_flow.\n \n-* eal: In v18.11 ``rte_eal_dev_attach()`` and ``rte_eal_dev_detach()``\n-  will be removed.\n-  Hotplug functions ``rte_eal_hotplug_add()`` and ``rte_eal_hotplug_remove()``\n-  should be used directly.\n-\n * pdump: As we changed to use generic IPC, some changes in APIs and structure\n   are expected in subsequent release.\n \ndiff --git a/doc/guides/rel_notes/release_18_11.rst b/doc/guides/rel_notes/release_18_11.rst\nindex 1f6ddcb6e..6fee3d9b1 100644\n--- a/doc/guides/rel_notes/release_18_11.rst\n+++ b/doc/guides/rel_notes/release_18_11.rst\n@@ -126,6 +126,12 @@ API Changes\n * eal: The parameters of the function ``rte_devargs_remove()`` have changed\n   from bus and device names to ``struct rte_devargs``.\n \n+* eal: The deprecated functions attach/detach were removed in 18.11.\n+  ``rte_eal_dev_attach`` can be replaced by\n+  ``rte_dev_probe`` or ``rte_eal_hotplug_add``.\n+  ``rte_eal_dev_detach`` can be replaced by\n+  ``rte_dev_remove`` or ``rte_eal_hotplug_remove``.\n+\n * mbuf: The ``__rte_mbuf_raw_free()`` and ``__rte_pktmbuf_prefree_seg()``\n   functions were deprecated since 17.05 and are replaced by\n   ``rte_mbuf_raw_free()`` and ``rte_pktmbuf_prefree_seg()``.\ndiff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c\nindex e733eb779..85003f6c8 100644\n--- a/lib/librte_eal/common/eal_common_dev.c\n+++ b/lib/librte_eal/common/eal_common_dev.c\n@@ -81,59 +81,6 @@ rte_dev_is_probed(const struct rte_device *dev)\n \treturn dev->driver != NULL;\n }\n \n-int rte_eal_dev_attach(const char *name, const char *devargs)\n-{\n-\tstruct rte_bus *bus;\n-\n-\tif (name == NULL || devargs == NULL) {\n-\t\tRTE_LOG(ERR, EAL, \"Invalid device or arguments provided\\n\");\n-\t\treturn -EINVAL;\n-\t}\n-\n-\tbus = rte_bus_find_by_device_name(name);\n-\tif (bus == NULL) {\n-\t\tRTE_LOG(ERR, EAL, \"Unable to find a bus for the device '%s'\\n\",\n-\t\t\tname);\n-\t\treturn -EINVAL;\n-\t}\n-\tif (strcmp(bus->name, \"pci\") == 0 || strcmp(bus->name, \"vdev\") == 0)\n-\t\treturn rte_eal_hotplug_add(bus->name, name, devargs);\n-\n-\tRTE_LOG(ERR, EAL,\n-\t\t\"Device attach is only supported for PCI and vdev devices.\\n\");\n-\n-\treturn -ENOTSUP;\n-}\n-\n-int rte_eal_dev_detach(struct rte_device *dev)\n-{\n-\tstruct rte_bus *bus;\n-\tint ret;\n-\n-\tif (dev == NULL) {\n-\t\tRTE_LOG(ERR, EAL, \"Invalid device provided.\\n\");\n-\t\treturn -EINVAL;\n-\t}\n-\n-\tbus = rte_bus_find_by_device(dev);\n-\tif (bus == NULL) {\n-\t\tRTE_LOG(ERR, EAL, \"Cannot find bus for device (%s)\\n\",\n-\t\t\tdev->name);\n-\t\treturn -EINVAL;\n-\t}\n-\n-\tif (bus->unplug == NULL) {\n-\t\tRTE_LOG(ERR, EAL, \"Bus function not supported\\n\");\n-\t\treturn -ENOTSUP;\n-\t}\n-\n-\tret = bus->unplug(dev);\n-\tif (ret)\n-\t\tRTE_LOG(ERR, EAL, \"Driver cannot detach the device (%s)\\n\",\n-\t\t\tdev->name);\n-\treturn ret;\n-}\n-\n int\n rte_eal_hotplug_add(const char *busname, const char *devname,\n \t\t    const char *drvargs)\ndiff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h\nindex a7ec8ec25..20791691a 100644\n--- a/lib/librte_eal/common/include/rte_dev.h\n+++ b/lib/librte_eal/common/include/rte_dev.h\n@@ -176,33 +176,6 @@ struct rte_device {\n __rte_experimental\n int rte_dev_is_probed(const struct rte_device *dev);\n \n-/**\n- * Attach a device to a registered driver.\n- *\n- * @param name\n- *   The device name, that refers to a pci device (or some private\n- *   way of designating a vdev device). Based on this device name, eal\n- *   will identify a driver capable of handling it and pass it to the\n- *   driver probing function.\n- * @param devargs\n- *   Device arguments to be passed to the driver.\n- * @return\n- *   0 on success, negative on error.\n- */\n-__rte_deprecated\n-int rte_eal_dev_attach(const char *name, const char *devargs);\n-\n-/**\n- * Detach a device from its driver.\n- *\n- * @param dev\n- *   A pointer to a rte_device structure.\n- * @return\n- *   0 on success, negative on error.\n- */\n-__rte_deprecated\n-int rte_eal_dev_detach(struct rte_device *dev);\n-\n /**\n  * Hotplug add a given device to a specific bus.\n  *\ndiff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map\nindex dddcb81ea..8a5b1797c 100644\n--- a/lib/librte_eal/rte_eal_version.map\n+++ b/lib/librte_eal/rte_eal_version.map\n@@ -130,8 +130,6 @@ DPDK_16.11 {\n \n \trte_delay_us_block;\n \trte_delay_us_callback_register;\n-\trte_eal_dev_attach;\n-\trte_eal_dev_detach;\n \n } DPDK_16.07;\n \n",
    "prefixes": [
        "v2",
        "6/6"
    ]
}