get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 43775,
    "url": "http://patches.dpdk.org/api/patches/43775/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1534503016-31805-5-git-send-email-jia.guo@intel.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": "<1534503016-31805-5-git-send-email-jia.guo@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1534503016-31805-5-git-send-email-jia.guo@intel.com",
    "date": "2018-08-17T10:50:16",
    "name": "[v6,4/4] testpmd: remove the dev event callback register",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "21bc44fb5932fa6528c0573627a789e5813db5a5",
    "submitter": {
        "id": 507,
        "url": "http://patches.dpdk.org/api/people/507/?format=api",
        "name": "Guo, Jia",
        "email": "jia.guo@intel.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1534503016-31805-5-git-send-email-jia.guo@intel.com/mbox/",
    "series": [
        {
            "id": 1009,
            "url": "http://patches.dpdk.org/api/series/1009/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1009",
            "date": "2018-08-17T10:50:12",
            "name": "Install eal event handler in i40e/ixgbe",
            "version": 6,
            "mbox": "http://patches.dpdk.org/series/1009/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/43775/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/43775/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 941A04C7B;\n\tFri, 17 Aug 2018 12:53:34 +0200 (CEST)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby dpdk.org (Postfix) with ESMTP id 28F8C2674\n\tfor <dev@dpdk.org>; Fri, 17 Aug 2018 12:53:23 +0200 (CEST)",
            "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t17 Aug 2018 03:53:20 -0700",
            "from jeffguo-z170x-ud5.sh.intel.com (HELO localhost.localdomain)\n\t([10.67.104.10])\n\tby orsmga003.jf.intel.com with ESMTP; 17 Aug 2018 03:53:12 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.53,250,1531810800\"; d=\"scan'208\";a=\"76129684\"",
        "From": "Jeff Guo <jia.guo@intel.com>",
        "To": "stephen@networkplumber.org, bruce.richardson@intel.com,\n\tferruh.yigit@intel.com, konstantin.ananyev@intel.com,\n\tgaetan.rivet@6wind.com, jingjing.wu@intel.com, thomas@monjalon.net,\n\tmotih@mellanox.com, matan@mellanox.com, harry.van.haaren@intel.com,\n\tqi.z.zhang@intel.com, shaopeng.he@intel.com,\n\tbernard.iremonger@intel.com, arybchenko@solarflare.com",
        "Cc": "jblunck@infradead.org, shreyansh.jain@nxp.com, dev@dpdk.org,\n\tjia.guo@intel.com, helin.zhang@intel.com",
        "Date": "Fri, 17 Aug 2018 18:50:16 +0800",
        "Message-Id": "<1534503016-31805-5-git-send-email-jia.guo@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1534503016-31805-1-git-send-email-jia.guo@intel.com>",
        "References": "<1530787185-5915-1-git-send-email-jia.guo@intel.com>\n\t<1534503016-31805-1-git-send-email-jia.guo@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v6 4/4] testpmd: remove the dev event callback\n\tregister",
        "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": "Since we can now use the PMDs to manage the eal event for hotplug, we no\nlonger need to register the device event callback in the application\nanymore. This patch removes the redundant code.\n\nSigned-off-by: Jeff Guo <jia.guo@intel.com>\nAcked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>\n---\nv6->v5:\nrefine commit log\n---\n app/test-pmd/testpmd.c | 78 --------------------------------------------------\n 1 file changed, 78 deletions(-)",
    "diff": "diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c\nindex 12fc497..0e2c744 100644\n--- a/app/test-pmd/testpmd.c\n+++ b/app/test-pmd/testpmd.c\n@@ -432,12 +432,6 @@ static void check_all_ports_link_status(uint32_t port_mask);\n static int eth_event_callback(portid_t port_id,\n \t\t\t      enum rte_eth_event_type type,\n \t\t\t      void *param, void *ret_param);\n-static void eth_dev_event_callback(char *device_name,\n-\t\t\t\tenum rte_dev_event_type type,\n-\t\t\t\tvoid *param);\n-static int eth_dev_event_callback_register(void);\n-static int eth_dev_event_callback_unregister(void);\n-\n \n /*\n  * Check if all the ports are started.\n@@ -1959,39 +1953,6 @@ reset_port(portid_t pid)\n \tprintf(\"Done\\n\");\n }\n \n-static int\n-eth_dev_event_callback_register(void)\n-{\n-\tint ret;\n-\n-\t/* register the device event callback */\n-\tret = rte_dev_event_callback_register(NULL,\n-\t\teth_dev_event_callback, NULL);\n-\tif (ret) {\n-\t\tprintf(\"Failed to register device event callback\\n\");\n-\t\treturn -1;\n-\t}\n-\n-\treturn 0;\n-}\n-\n-\n-static int\n-eth_dev_event_callback_unregister(void)\n-{\n-\tint ret;\n-\n-\t/* unregister the device event callback */\n-\tret = rte_dev_event_callback_unregister(NULL,\n-\t\teth_dev_event_callback, NULL);\n-\tif (ret < 0) {\n-\t\tprintf(\"Failed to unregister device event callback\\n\");\n-\t\treturn -1;\n-\t}\n-\n-\treturn 0;\n-}\n-\n void\n attach_port(char *identifier)\n {\n@@ -2104,10 +2065,6 @@ pmd_test_exit(void)\n \t\t\treturn;\n \t\t}\n \n-\t\tret = eth_dev_event_callback_unregister();\n-\t\tif (ret)\n-\t\t\treturn;\n-\n \t\tret = rte_dev_hotplug_handle_disable();\n \t\tif (ret) {\n \t\t\tRTE_LOG(ERR, EAL,\n@@ -2252,37 +2209,6 @@ eth_event_callback(portid_t port_id, enum rte_eth_event_type type, void *param,\n \treturn 0;\n }\n \n-/* This function is used by the interrupt thread */\n-static void\n-eth_dev_event_callback(char *device_name, enum rte_dev_event_type type,\n-\t\t\t     __rte_unused void *arg)\n-{\n-\tif (type >= RTE_DEV_EVENT_MAX) {\n-\t\tfprintf(stderr, \"%s called upon invalid event %d\\n\",\n-\t\t\t__func__, type);\n-\t\tfflush(stderr);\n-\t}\n-\n-\tswitch (type) {\n-\tcase RTE_DEV_EVENT_REMOVE:\n-\t\tRTE_LOG(ERR, EAL, \"The device: %s has been removed!\\n\",\n-\t\t\tdevice_name);\n-\t\t/* TODO: After finish failure handle, begin to stop\n-\t\t * packet forward, stop port, close port, detach port.\n-\t\t */\n-\t\tbreak;\n-\tcase RTE_DEV_EVENT_ADD:\n-\t\tRTE_LOG(ERR, EAL, \"The device: %s has been added!\\n\",\n-\t\t\tdevice_name);\n-\t\t/* TODO: After finish kernel driver binding,\n-\t\t * begin to attach port.\n-\t\t */\n-\t\tbreak;\n-\tdefault:\n-\t\tbreak;\n-\t}\n-}\n-\n static int\n set_tx_queue_stats_mapping_registers(portid_t port_id, struct rte_port *port)\n {\n@@ -2805,10 +2731,6 @@ main(int argc, char** argv)\n \t\t\t\t\"fail to start device event monitoring.\");\n \t\t\treturn -1;\n \t\t}\n-\n-\t\tret = eth_dev_event_callback_register();\n-\t\tif (ret)\n-\t\t\treturn -1;\n \t}\n \n \tif (start_port(RTE_PORT_ALL) != 0)\n",
    "prefixes": [
        "v6",
        "4/4"
    ]
}