get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 43779,
    "url": "http://patches.dpdk.org/api/patches/43779/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1534503091-31910-4-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": "<1534503091-31910-4-git-send-email-jia.guo@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1534503091-31910-4-git-send-email-jia.guo@intel.com",
    "date": "2018-08-17T10:51:29",
    "name": "[v1,3/5] eal: modify device event callback process func",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "35a3819bceebfd1b8c8393d43c505a8ee89e0f65",
    "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/1534503091-31910-4-git-send-email-jia.guo@intel.com/mbox/",
    "series": [
        {
            "id": 1010,
            "url": "http://patches.dpdk.org/api/series/1010/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1010",
            "date": "2018-08-17T10:51:26",
            "name": "Enable hotplug in vfio",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/1010/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/43779/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/43779/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 109C92B83;\n\tFri, 17 Aug 2018 12:54:25 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n\tby dpdk.org (Postfix) with ESMTP id 071672B83\n\tfor <dev@dpdk.org>; Fri, 17 Aug 2018 12:54:22 +0200 (CEST)",
            "from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t17 Aug 2018 03:54:22 -0700",
            "from jeffguo-z170x-ud5.sh.intel.com (HELO localhost.localdomain)\n\t([10.67.104.10])\n\tby FMSMGA003.fm.intel.com with ESMTP; 17 Aug 2018 03:54:20 -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=\"73536796\"",
        "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:51:29 +0800",
        "Message-Id": "<1534503091-31910-4-git-send-email-jia.guo@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1534503091-31910-1-git-send-email-jia.guo@intel.com>",
        "References": "<1534503091-31910-1-git-send-email-jia.guo@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v1 3/5] eal: modify device event callback process\n\tfunc",
        "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": "This patch modify the device event callback process function name to be\nmore explicit, and exposure the API from private to public. The drivers\nand apps would directly use this API to process device event callback.\n\nSigned-off-by: Jeff Guo <jia.guo@intel.com>\n---\n lib/librte_eal/common/eal_common_dev.c  |  5 +++--\n lib/librte_eal/common/eal_private.h     | 12 ------------\n lib/librte_eal/common/include/rte_dev.h | 19 ++++++++++++++++++-\n lib/librte_eal/linuxapp/eal/eal_dev.c   |  2 +-\n lib/librte_ethdev/rte_ethdev.c          |  2 +-\n 5 files changed, 23 insertions(+), 17 deletions(-)",
    "diff": "diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c\nindex 678dbca..2d610a4 100644\n--- a/lib/librte_eal/common/eal_common_dev.c\n+++ b/lib/librte_eal/common/eal_common_dev.c\n@@ -342,8 +342,9 @@ rte_dev_event_callback_unregister(const char *device_name,\n \treturn ret;\n }\n \n-void\n-dev_callback_process(char *device_name, enum rte_dev_event_type event)\n+void __rte_experimental\n+rte_dev_event_callback_process(const char *device_name,\n+\t\t\t       enum rte_dev_event_type event)\n {\n \tstruct dev_event_callback *cb_lst;\n \ndiff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h\nindex 3cf0357..8758f2b 100644\n--- a/lib/librte_eal/common/eal_private.h\n+++ b/lib/librte_eal/common/eal_private.h\n@@ -259,18 +259,6 @@ struct rte_bus *rte_bus_find_by_device_name(const char *str);\n int rte_mp_channel_init(void);\n \n /**\n- * Internal Executes all the user application registered callbacks for\n- * the specific device. It is for DPDK internal user only. User\n- * application should not call it directly.\n- *\n- * @param device_name\n- *  The device name.\n- * @param event\n- *  the device event type.\n- */\n-void dev_callback_process(char *device_name, enum rte_dev_event_type event);\n-\n-/**\n  * @internal\n  * Parse a device string and store its information in an\n  * rte_devargs structure.\ndiff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h\nindex 0324c84..f35ba22 100644\n--- a/lib/librte_eal/common/include/rte_dev.h\n+++ b/lib/librte_eal/common/include/rte_dev.h\n@@ -40,7 +40,7 @@ struct rte_dev_event {\n \tchar *devname;\t\t\t/**< device name */\n };\n \n-typedef void (*rte_dev_event_cb_fn)(char *device_name,\n+typedef void (*rte_dev_event_cb_fn)(const char *device_name,\n \t\t\t\t\tenum rte_dev_event_type event,\n \t\t\t\t\tvoid *cb_arg);\n \n@@ -439,6 +439,23 @@ rte_dev_event_callback_unregister(const char *device_name,\n  * @warning\n  * @b EXPERIMENTAL: this API may change without prior notice\n  *\n+ * Internal Executes all the user application registered callbacks for\n+ * the specific device. It is for DPDK internal user only. User\n+ * application should not call it directly.\n+ *\n+ * @param device_name\n+ *  The device name.\n+ * @param event\n+ *  the device event type.\n+ */\n+void  __rte_experimental\n+rte_dev_event_callback_process(const char *device_name,\n+\t\t\t       enum rte_dev_event_type event);\n+\n+/**\n+ * @warning\n+ * @b EXPERIMENTAL: this API may change without prior notice\n+ *\n  * Start the device event monitoring.\n  *\n  * @return\ndiff --git a/lib/librte_eal/linuxapp/eal/eal_dev.c b/lib/librte_eal/linuxapp/eal/eal_dev.c\nindex fa5cb9b..09079ea 100644\n--- a/lib/librte_eal/linuxapp/eal/eal_dev.c\n+++ b/lib/librte_eal/linuxapp/eal/eal_dev.c\n@@ -270,7 +270,7 @@ dev_uev_handler(__rte_unused void *param)\n \t\t\t\treturn;\n \t\t\t}\n \t\t}\n-\t\tdev_callback_process(uevent.devname, uevent.type);\n+\t\trte_dev_event_callback_process(uevent.devname, uevent.type);\n \t}\n }\n \ndiff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c\nindex d68bd4c..da1e9a6 100644\n--- a/lib/librte_ethdev/rte_ethdev.c\n+++ b/lib/librte_ethdev/rte_ethdev.c\n@@ -4418,7 +4418,7 @@ rte_eth_devargs_parse(const char *dargs, struct rte_eth_devargs *eth_da)\n }\n \n static void __rte_experimental\n-eth_dev_event_callback(char *device_name, enum rte_dev_event_type type,\n+eth_dev_event_callback(const char *device_name, enum rte_dev_event_type type,\n \t\t       void *arg)\n {\n \tstruct rte_eth_dev *eth_dev = (struct rte_eth_dev *)arg;\n",
    "prefixes": [
        "v1",
        "3/5"
    ]
}