get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 817975,
    "url": "http://patchwork.ozlabs.org/api/patches/817975/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20170924195716.3433-4-xypron.glpk@gmx.de/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170924195716.3433-4-xypron.glpk@gmx.de>",
    "list_archive_url": null,
    "date": "2017-09-24T19:57:02",
    "name": "[U-Boot,03/17] efi_loader: pass GUIDs as const efi_guid_t *",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "a5eab6c5df8714f55db237c664f961f4b9148a8a",
    "submitter": {
        "id": 61270,
        "url": "http://patchwork.ozlabs.org/api/people/61270/?format=api",
        "name": "Heinrich Schuchardt",
        "email": "xypron.glpk@gmx.de"
    },
    "delegate": {
        "id": 3400,
        "url": "http://patchwork.ozlabs.org/api/users/3400/?format=api",
        "username": "agraf",
        "first_name": "Alexander",
        "last_name": "Graf",
        "email": "agraf@suse.de"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20170924195716.3433-4-xypron.glpk@gmx.de/mbox/",
    "series": [
        {
            "id": 4841,
            "url": "http://patchwork.ozlabs.org/api/series/4841/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=4841",
            "date": "2017-09-24T19:57:03",
            "name": "efi_loader: Simple Network Protocol",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/4841/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/817975/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/817975/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)",
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3y0dRF1S8tz9t30\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 25 Sep 2017 06:02:17 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid DD025C22127; Sun, 24 Sep 2017 19:59:38 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 27830C22124;\n\tSun, 24 Sep 2017 19:58:34 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid DF0BCC220E5; Sun, 24 Sep 2017 19:58:19 +0000 (UTC)",
            "from mout.gmx.net (mout.gmx.net [212.227.17.20])\n\tby lists.denx.de (Postfix) with ESMTPS id 586D6C2209B\n\tfor <u-boot@lists.denx.de>; Sun, 24 Sep 2017 19:58:16 +0000 (UTC)",
            "from workstation4.fritz.box ([84.118.154.110]) by mail.gmx.com\n\t(mrgmx102 [212.227.17.174]) with ESMTPSA (Nemesis) id\n\t0MGoU1-1e9jgW3z9d-00DaFD; Sun, 24 Sep 2017 21:57:30 +0200"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-0.7 required=5.0 tests=FREEMAIL_FROM,\n\tRCVD_IN_DNSWL_LOW,\n\tRCVD_IN_MSPIKE_H2 autolearn=unavailable autolearn_force=no\n\tversion=3.4.0",
        "From": "Heinrich Schuchardt <xypron.glpk@gmx.de>",
        "To": "Alexander Graf <agraf@suse.de>",
        "Date": "Sun, 24 Sep 2017 21:57:02 +0200",
        "Message-Id": "<20170924195716.3433-4-xypron.glpk@gmx.de>",
        "X-Mailer": "git-send-email 2.14.1",
        "In-Reply-To": "<20170924195716.3433-1-xypron.glpk@gmx.de>",
        "References": "<20170924195716.3433-1-xypron.glpk@gmx.de>",
        "X-Provags-ID": "V03:K0:39eFKdQFjuIWVfL3QY0qLxCMFbeNcRzt8ATW8pe+0qE2Rmn/O8w\n\tYekC0yG5Mdl1YMNWdlSKNjtKJ5DdUyMuxM4IN5afxM4mMPSniiw1XeI5iqKq7TsRUnkgxiW\n\t5WBkd5nK7mqClkRYqlEXXFBdK+e6NRH546K7OwVsJex53qboj9dSCiwihub6ALwHlatZFAT\n\t9xrIb5Wg3o0PLkFc1O3GA==",
        "X-UI-Out-Filterresults": "notjunk:1; V01:K0:uAQnt2PdK68=:ay4sxS/djvtxdC6w5+vkZ3\n\tAdrLaNYVGzjZZo5x+e3Bilzj9jPUSmWDig5N8+RVNA7T4M3YjX7OHKN9lyDMqsFHw+OskMT3A\n\to2uejaF+PWX1/dam2JKz9P6BSHyeOpDqURLtFkV+uezeHqVFj7Dmsra2s2PCu+hgAokbaLGir\n\tJTjG1KpkkKQZsL/VO8i6WqoR5TupzFqzd7kGf6J585PS6CfBEdIb0lNGvkFd9pYjwhSM/mPTL\n\tGJKDcDjKj83KY9vKBFak5pMiVT0GlgYD38ABucP8SnUAJXWDdDjbCU6et+TLvoeFhO27K+VX5\n\tZlngA2mjinnrSHoLLmkjdf+Dkkl24LPsbXk6/+1RgcWDkjtQnQ9vGjAD0mu69OhA5YgW1yI8R\n\tFyLnj3dQsc/xICyKW6UnhurED1Y+oD8RNCtHxUIapJPNCVhQ6MSa3zeGphJGI+eh/ow2rIq/M\n\tNhgZehqzr6LbSbzeqi6bfcjl4SPyKhTgnv4WW3sgDqxDMjOND2bABk5obmcUzEBacKoXr8QOW\n\t7n+YEV4ylcrXDBIZ5KSdIFvTrt37deu5FE0k3TKI1YXu+VPFiJO77JTfojG/18XXnKrFnaTk5\n\t3X0AojCwd3O0VrZEc2TkE/dZrggJA3k8ZZUvFZTz2qwox1DiBdYQzj5sZvbB5/CWPMvimddib\n\twjGbvapE3AeKHKFtr2VAf0I7mpLI3Nh+zTAtuREvT6BE2QDDxvKL/nL+nHL8IjzJ8UqIXVcUU\n\ttQrnAaLAWKfkxD/RadT/6WtPz3Fzz15TdiA0XBp4vrpJgDvKxRBoWOedMEN3afxZKQH0jn3l8\n\tjd0P0xv4T/3qfdmW3hB4HolNY0BrA==",
        "Cc": "Heinrich Schuchardt <xypron.glpk@gmx.de>, u-boot@lists.denx.de",
        "Subject": "[U-Boot] [PATCH 03/17] efi_loader: pass GUIDs as const efi_guid_t *",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.18",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>"
    },
    "content": "We need to call some boottime services internally.\nOur GUIDs are stored as const efi_guid_t *.\n\nThe boottime services never change GUIDs.\nSo we can define the parameters as const efi_guid_t *.\n\nSigned-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>\n---\n include/efi_api.h             | 27 ++++++++++++++-------------\n lib/efi_loader/efi_boottime.c | 40 +++++++++++++++++++++-------------------\n 2 files changed, 35 insertions(+), 32 deletions(-)",
    "diff": "diff --git a/include/efi_api.h b/include/efi_api.h\nindex 0b1a383e61..aa4306aac9 100644\n--- a/include/efi_api.h\n+++ b/include/efi_api.h\n@@ -77,24 +77,25 @@ struct efi_boot_services {\n \tefi_status_t (EFIAPI *check_event)(struct efi_event *event);\n #define EFI_NATIVE_INTERFACE\t0x00000000\n \tefi_status_t (EFIAPI *install_protocol_interface)(\n-\t\t\tvoid **handle, efi_guid_t *protocol,\n+\t\t\tvoid **handle, const efi_guid_t *protocol,\n \t\t\tint protocol_interface_type, void *protocol_interface);\n \tefi_status_t (EFIAPI *reinstall_protocol_interface)(\n-\t\t\tvoid *handle, efi_guid_t *protocol,\n+\t\t\tvoid *handle, const efi_guid_t *protocol,\n \t\t\tvoid *old_interface, void *new_interface);\n \tefi_status_t (EFIAPI *uninstall_protocol_interface)(void *handle,\n-\t\t\tefi_guid_t *protocol, void *protocol_interface);\n-\tefi_status_t (EFIAPI *handle_protocol)(efi_handle_t, efi_guid_t *,\n-\t\t\t\t\t       void **);\n+\t\t\tconst efi_guid_t *protocol, void *protocol_interface);\n+\tefi_status_t (EFIAPI *handle_protocol)(efi_handle_t,\n+\t\t\t\t\t       const efi_guid_t *protocol,\n+\t\t\t\t\t       void **protocol_interface);\n \tvoid *reserved;\n \tefi_status_t (EFIAPI *register_protocol_notify)(\n-\t\t\tefi_guid_t *protocol, struct efi_event *event,\n+\t\t\tconst efi_guid_t *protocol, struct efi_event *event,\n \t\t\tvoid **registration);\n \tefi_status_t (EFIAPI *locate_handle)(\n \t\t\tenum efi_locate_search_type search_type,\n-\t\t\tefi_guid_t *protocol, void *search_key,\n+\t\t\tconst efi_guid_t *protocol, void *search_key,\n \t\t\tunsigned long *buffer_size, efi_handle_t *buffer);\n-\tefi_status_t (EFIAPI *locate_device_path)(efi_guid_t *protocol,\n+\tefi_status_t (EFIAPI *locate_device_path)(const efi_guid_t *protocol,\n \t\t\tstruct efi_device_path **device_path,\n \t\t\tefi_handle_t *device);\n \tefi_status_t (EFIAPI *install_configuration_table)(\n@@ -131,14 +132,14 @@ struct efi_boot_services {\n #define EFI_OPEN_PROTOCOL_BY_DRIVER           0x00000010\n #define EFI_OPEN_PROTOCOL_EXCLUSIVE           0x00000020\n \tefi_status_t (EFIAPI *open_protocol)(efi_handle_t handle,\n-\t\t\tefi_guid_t *protocol, void **interface,\n+\t\t\tconst efi_guid_t *protocol, void **interface,\n \t\t\tefi_handle_t agent_handle,\n \t\t\tefi_handle_t controller_handle, u32 attributes);\n \tefi_status_t (EFIAPI *close_protocol)(void *handle,\n-\t\t\tefi_guid_t *protocol, void *agent_handle,\n+\t\t\tconst efi_guid_t *protocol, void *agent_handle,\n \t\t\tvoid *controller_handle);\n \tefi_status_t(EFIAPI *open_protocol_information)(efi_handle_t handle,\n-\t\t\tefi_guid_t *protocol,\n+\t\t\tconst efi_guid_t *protocol,\n \t\t\tstruct efi_open_protocol_info_entry **entry_buffer,\n \t\t\tunsigned long *entry_count);\n \tefi_status_t (EFIAPI *protocols_per_handle)(efi_handle_t handle,\n@@ -146,9 +147,9 @@ struct efi_boot_services {\n \t\t\tunsigned long *protocols_buffer_count);\n \tefi_status_t (EFIAPI *locate_handle_buffer) (\n \t\t\tenum efi_locate_search_type search_type,\n-\t\t\tefi_guid_t *protocol, void *search_key,\n+\t\t\tconst efi_guid_t *protocol, void *search_key,\n \t\t\tunsigned long *no_handles, efi_handle_t **buffer);\n-\tefi_status_t (EFIAPI *locate_protocol)(efi_guid_t *protocol,\n+\tefi_status_t (EFIAPI *locate_protocol)(const efi_guid_t *protocol,\n \t\t\tvoid *registration, void **protocol_interface);\n \tefi_status_t (EFIAPI *install_multiple_protocol_interfaces)(\n \t\t\tvoid **handle, ...);\ndiff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c\nindex 22e6e6c569..b053b47262 100644\n--- a/lib/efi_loader/efi_boottime.c\n+++ b/lib/efi_loader/efi_boottime.c\n@@ -719,7 +719,7 @@ static efi_status_t EFIAPI efi_check_event(struct efi_event *event)\n  * @return\t\t\tstatus code\n  */\n static efi_status_t EFIAPI efi_install_protocol_interface(void **handle,\n-\t\t\tefi_guid_t *protocol, int protocol_interface_type,\n+\t\t\tconst efi_guid_t *protocol, int protocol_interface_type,\n \t\t\tvoid *protocol_interface)\n {\n \tstruct list_head *lhandle;\n@@ -790,7 +790,7 @@ out:\n  * @return\t\t\tstatus code\n  */\n static efi_status_t EFIAPI efi_install_protocol_interface_ext(void **handle,\n-\t\t\tefi_guid_t *protocol, int protocol_interface_type,\n+\t\t\tconst efi_guid_t *protocol, int protocol_interface_type,\n \t\t\tvoid *protocol_interface)\n {\n \tEFI_ENTRY(\"%p, %pUl, %d, %p\", handle, protocol, protocol_interface_type,\n@@ -816,7 +816,7 @@ static efi_status_t EFIAPI efi_install_protocol_interface_ext(void **handle,\n  * @return\t\t\tstatus code\n  */\n static efi_status_t EFIAPI efi_reinstall_protocol_interface(void *handle,\n-\t\t\tefi_guid_t *protocol, void *old_interface,\n+\t\t\tconst efi_guid_t *protocol, void *old_interface,\n \t\t\tvoid *new_interface)\n {\n \tEFI_ENTRY(\"%p, %pUl, %p, %p\", handle, protocol, old_interface,\n@@ -837,7 +837,7 @@ static efi_status_t EFIAPI efi_reinstall_protocol_interface(void *handle,\n  * @return\t\t\tstatus code\n  */\n static efi_status_t EFIAPI efi_uninstall_protocol_interface(void *handle,\n-\t\t\tefi_guid_t *protocol, void *protocol_interface)\n+\t\t\tconst efi_guid_t *protocol, void *protocol_interface)\n {\n \tstruct list_head *lhandle;\n \tint i;\n@@ -890,7 +890,7 @@ out:\n  * @return\t\t\tstatus code\n  */\n static efi_status_t EFIAPI efi_uninstall_protocol_interface_ext(void *handle,\n-\t\t\tefi_guid_t *protocol, void *protocol_interface)\n+\t\t\tconst efi_guid_t *protocol, void *protocol_interface)\n {\n \tEFI_ENTRY(\"%p, %pUl, %p\", handle, protocol, protocol_interface);\n \n@@ -911,9 +911,10 @@ static efi_status_t EFIAPI efi_uninstall_protocol_interface_ext(void *handle,\n  * @registration\tkey for retrieving the registration information\n  * @return\t\tstatus code\n  */\n-static efi_status_t EFIAPI efi_register_protocol_notify(efi_guid_t *protocol,\n-\t\t\t\t\t\t\tstruct efi_event *event,\n-\t\t\t\t\t\t\tvoid **registration)\n+static efi_status_t EFIAPI efi_register_protocol_notify(\n+\t\t\t\t\t\tconst efi_guid_t *protocol,\n+\t\t\t\t\t\tstruct efi_event *event,\n+\t\t\t\t\t\tvoid **registration)\n {\n \tEFI_ENTRY(\"%pUl, %p, %p\", protocol, event, registration);\n \treturn EFI_EXIT(EFI_OUT_OF_RESOURCES);\n@@ -931,7 +932,7 @@ static efi_status_t EFIAPI efi_register_protocol_notify(efi_guid_t *protocol,\n  * @return\t\t0 if the handle implements the protocol\n  */\n static int efi_search(enum efi_locate_search_type search_type,\n-\t\t      efi_guid_t *protocol, void *search_key,\n+\t\t      const efi_guid_t *protocol, void *search_key,\n \t\t      struct efi_object *efiobj)\n {\n \tint i;\n@@ -968,7 +969,7 @@ static int efi_search(enum efi_locate_search_type search_type,\n  */\n static efi_status_t efi_locate_handle(\n \t\t\tenum efi_locate_search_type search_type,\n-\t\t\tefi_guid_t *protocol, void *search_key,\n+\t\t\tconst efi_guid_t *protocol, void *search_key,\n \t\t\tunsigned long *buffer_size, efi_handle_t *buffer)\n {\n \tstruct list_head *lhandle;\n@@ -1020,7 +1021,7 @@ static efi_status_t efi_locate_handle(\n  */\n static efi_status_t EFIAPI efi_locate_handle_ext(\n \t\t\tenum efi_locate_search_type search_type,\n-\t\t\tefi_guid_t *protocol, void *search_key,\n+\t\t\tconst efi_guid_t *protocol, void *search_key,\n \t\t\tunsigned long *buffer_size, efi_handle_t *buffer)\n {\n \tEFI_ENTRY(\"%d, %pUl, %p, %p, %p\", search_type, protocol, search_key,\n@@ -1042,7 +1043,8 @@ static efi_status_t EFIAPI efi_locate_handle_ext(\n  * @device\t\thandle of the device\n  * @return\t\tstatus code\n  */\n-static efi_status_t EFIAPI efi_locate_device_path(efi_guid_t *protocol,\n+static efi_status_t EFIAPI efi_locate_device_path(\n+\t\t\tconst efi_guid_t *protocol,\n \t\t\tstruct efi_device_path **device_path,\n \t\t\tefi_handle_t *device)\n {\n@@ -1581,7 +1583,7 @@ static efi_status_t EFIAPI efi_disconnect_controller(void *controller_handle,\n  * @return\t\tstatus code\n  */\n static efi_status_t EFIAPI efi_close_protocol(void *handle,\n-\t\t\t\t\t      efi_guid_t *protocol,\n+\t\t\t\t\t      const efi_guid_t *protocol,\n \t\t\t\t\t      void *agent_handle,\n \t\t\t\t\t      void *controller_handle)\n {\n@@ -1604,7 +1606,7 @@ static efi_status_t EFIAPI efi_close_protocol(void *handle,\n  * @return\t\tstatus code\n  */\n static efi_status_t EFIAPI efi_open_protocol_information(efi_handle_t handle,\n-\t\t\tefi_guid_t *protocol,\n+\t\t\tconst efi_guid_t *protocol,\n \t\t\tstruct efi_open_protocol_info_entry **entry_buffer,\n \t\t\tunsigned long *entry_count)\n {\n@@ -1693,7 +1695,7 @@ static efi_status_t EFIAPI efi_protocols_per_handle(void *handle,\n  */\n static efi_status_t EFIAPI efi_locate_handle_buffer(\n \t\t\tenum efi_locate_search_type search_type,\n-\t\t\tefi_guid_t *protocol, void *search_key,\n+\t\t\tconst efi_guid_t *protocol, void *search_key,\n \t\t\tunsigned long *no_handles, efi_handle_t **buffer)\n {\n \tefi_status_t r;\n@@ -1735,7 +1737,7 @@ out:\n  * @registration\tregistration key passed to the notification function\n  * @protocol_interface\tinterface implementing the protocol\n  */\n-static efi_status_t EFIAPI efi_locate_protocol(efi_guid_t *protocol,\n+static efi_status_t EFIAPI efi_locate_protocol(const efi_guid_t *protocol,\n \t\t\t\t\t       void *registration,\n \t\t\t\t\t       void **protocol_interface)\n {\n@@ -1788,7 +1790,7 @@ static efi_status_t EFIAPI efi_install_multiple_protocol_interfaces(\n \tEFI_ENTRY(\"%p\", handle);\n \n \tva_list argptr;\n-\tefi_guid_t *protocol;\n+\tconst efi_guid_t *protocol;\n \tvoid *protocol_interface;\n \tefi_status_t r = EFI_SUCCESS;\n \tint i = 0;\n@@ -1919,7 +1921,7 @@ static void EFIAPI efi_set_mem(void *buffer, size_t size, uint8_t value)\n  * @return\t\tstatus code\n  */\n static efi_status_t EFIAPI efi_open_protocol(\n-\t\t\tvoid *handle, efi_guid_t *protocol,\n+\t\t\tvoid *handle, const efi_guid_t *protocol,\n \t\t\tvoid **protocol_interface, void *agent_handle,\n \t\t\tvoid *controller_handle, uint32_t attributes)\n {\n@@ -2003,7 +2005,7 @@ out:\n  * @return\t\tstatus code\n  */\n static efi_status_t EFIAPI efi_handle_protocol(void *handle,\n-\t\t\t\t\t       efi_guid_t *protocol,\n+\t\t\t\t\t       const efi_guid_t *protocol,\n \t\t\t\t\t       void **protocol_interface)\n {\n \treturn efi_open_protocol(handle, protocol, protocol_interface, NULL,\n",
    "prefixes": [
        "U-Boot",
        "03/17"
    ]
}