get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 42833,
    "url": "http://patches.dpdk.org/api/patches/42833/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1531309887-12104-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": "<1531309887-12104-5-git-send-email-jia.guo@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1531309887-12104-5-git-send-email-jia.guo@intel.com",
    "date": "2018-07-11T11:51:27",
    "name": "[v5,4/4] testpmd: remove the dev event callback register",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "ec4fba1b69b4bcf6c00bac339e4bb96c969e3f74",
    "submitter": {
        "id": 507,
        "url": "http://patches.dpdk.org/api/people/507/?format=api",
        "name": "Guo, Jia",
        "email": "jia.guo@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1531309887-12104-5-git-send-email-jia.guo@intel.com/mbox/",
    "series": [
        {
            "id": 519,
            "url": "http://patches.dpdk.org/api/series/519/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=519",
            "date": "2018-07-11T11:51:23",
            "name": "Install eal hotplug event handler in i40e/ixgbe",
            "version": 5,
            "mbox": "http://patches.dpdk.org/series/519/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/42833/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/42833/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 3AA6B1B564;\n\tWed, 11 Jul 2018 13:54:00 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n\tby dpdk.org (Postfix) with ESMTP id 7AFCC1B55D\n\tfor <dev@dpdk.org>; Wed, 11 Jul 2018 13:53:56 +0200 (CEST)",
            "from fmsmga007.fm.intel.com ([10.253.24.52])\n\tby fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t11 Jul 2018 04:53:56 -0700",
            "from jeffguo-z170x-ud5.sh.intel.com (HELO localhost.localdomain)\n\t([10.67.104.10])\n\tby fmsmga007.fm.intel.com with ESMTP; 11 Jul 2018 04:53:53 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,338,1526367600\"; d=\"scan'208\";a=\"53568349\"",
        "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": "Wed, 11 Jul 2018 19:51:27 +0800",
        "Message-Id": "<1531309887-12104-5-git-send-email-jia.guo@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1531309887-12104-1-git-send-email-jia.guo@intel.com>",
        "References": "<1530787185-5915-1-git-send-email-jia.guo@intel.com>\n\t<1531309887-12104-1-git-send-email-jia.guo@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v5 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 now we can use driver to management the eal event for hotplug,\nso no need to register dev event callback in app anymore. This patch\nremove the related code.\n\nSigned-off-by: Jeff Guo <jia.guo@intel.com>\nAcked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>\n---\nv5->v4:\nno change.\n---\n app/test-pmd/testpmd.c | 76 --------------------------------------------------\n 1 file changed, 76 deletions(-)",
    "diff": "diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c\nindex 24c1998..10ed660 100644\n--- a/app/test-pmd/testpmd.c\n+++ b/app/test-pmd/testpmd.c\n@@ -400,12 +400,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@@ -1915,39 +1909,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@@ -2049,10 +2010,6 @@ pmd_test_exit(void)\n \t\t\tRTE_LOG(ERR, EAL,\n \t\t\t\t\"fail to stop device event monitor.\");\n \n-\t\tret = eth_dev_event_callback_unregister();\n-\t\tif (ret)\n-\t\t\tRTE_LOG(ERR, EAL,\n-\t\t\t\t\"fail to unregister all event callbacks.\");\n \t}\n \n \tprintf(\"\\nBye...\\n\");\n@@ -2191,37 +2148,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@@ -2735,8 +2661,6 @@ main(int argc, char** argv)\n \t\t\trte_errno = EINVAL;\n \t\t\treturn -1;\n \t\t}\n-\t\teth_dev_event_callback_register();\n-\n \t}\n \n \tif (start_port(RTE_PORT_ALL) != 0)\n",
    "prefixes": [
        "v5",
        "4/4"
    ]
}