{"id":806166,"url":"http://patchwork.ozlabs.org/api/patches/806166/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/20170826225110.7381-7-xypron.glpk@gmx.de/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/projects/18/?format=json","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":"<20170826225110.7381-7-xypron.glpk@gmx.de>","list_archive_url":null,"date":"2017-08-26T22:51:07","name":"[U-Boot,06/23] efi_loader: new function efi_search_protocol","commit_ref":null,"pull_url":null,"state":"superseded","archived":true,"hash":"b6ec65a5a6113079b5cfa5dcd217ab892a876dd6","submitter":{"id":61270,"url":"http://patchwork.ozlabs.org/api/people/61270/?format=json","name":"Heinrich Schuchardt","email":"xypron.glpk@gmx.de"},"delegate":{"id":3400,"url":"http://patchwork.ozlabs.org/api/users/3400/?format=json","username":"agraf","first_name":"Alexander","last_name":"Graf","email":"agraf@suse.de"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20170826225110.7381-7-xypron.glpk@gmx.de/mbox/","series":[],"comments":"http://patchwork.ozlabs.org/api/patches/806166/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/806166/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 3xftgY65v5z9s78\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSun, 27 Aug 2017 08:56:25 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 8BC36C221DF; Sat, 26 Aug 2017 22:53:29 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 1A5E0C221BB;\n\tSat, 26 Aug 2017 22:52:36 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 556C3C2218A; Sat, 26 Aug 2017 22:52:10 +0000 (UTC)","from mout.gmx.net (mout.gmx.net [212.227.17.22])\n\tby lists.denx.de (Postfix) with ESMTPS id 6520FC2212F\n\tfor <u-boot@lists.denx.de>; Sat, 26 Aug 2017 22:52:07 +0000 (UTC)","from localhost.localdomain ([84.118.154.110]) by mail.gmx.com\n\t(mrgmx102 [212.227.17.168]) with ESMTPSA (Nemesis) id\n\t0MJFBe-1doTk92mcc-002qdQ; Sun, 27 Aug 2017 00:51:23 +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, RCVD_IN_MSPIKE_H3,\n\tRCVD_IN_MSPIKE_WL autolearn=unavailable\n\tautolearn_force=no version=3.4.0","From":"Heinrich Schuchardt <xypron.glpk@gmx.de>","To":"Alexander Graf <agraf@suse.de>","Date":"Sun, 27 Aug 2017 00:51:07 +0200","Message-Id":"<20170826225110.7381-7-xypron.glpk@gmx.de>","X-Mailer":"git-send-email 2.14.1","In-Reply-To":"<20170826225110.7381-1-xypron.glpk@gmx.de>","References":"<20170826225110.7381-1-xypron.glpk@gmx.de>","X-Provags-ID":"V03:K0:t2lBTMrvhDAlo43mLVXtgLeWwNumIQNmiakPZwA8YjHlh7P+poo\n\tH+Hir0mWiwYhjT2JKFyYaiwv3o8/n8dxic7QY/q4G/6YkwlIgZbkEYNPY01XQb4bYuuk5D5\n\tT9Y2cEsDuov6bD2fJYGfT9QtDRqBRMAFK4LOXAEtYn6nViSV5FcXzL+Ma21wpRLyuRBLYkk\n\t781JwEDzKou2v3zDICiQA==","X-UI-Out-Filterresults":"notjunk:1; V01:K0:7l1NW6JNEuc=:JE3GQviqnKUqQqauV/5W2W\n\tPwe5Y9/uE9D0ZtfoizSHIO1bDeE7CmnwwphJNVz5FwFfgeXot6p/XYQjMBEtZCob5RXY4OPoQ\n\tUVYVDbiRG2A2RfJFYYhrBu/RmGG4zlYb/VXLDAU9l9hEBBRDuSrnpDxU0K6RNn5dY1eTD5rc3\n\tuviIG/xufR4PAGDT4nw2wWm7undm+2txa+lUCsLePJ46X7C+C6HNnbOdXZf5NRj8qe0omvpUl\n\te3VFMIOlaso6MWsRp/G5U4kRp3FkRc1ble6h6j2vDpUTgs6ZA4NPmy7YosKSUu9wvOwbmU6Z5\n\tmSOIRwCmtnPYacVaUEG8smSHAIJiTOS1khIQdsBF0Nl6FrDMA2j/iA44DfPH+Hs9M4+dNq3+w\n\tSGNf8uSFBCafZuz9mmovy1uv9RhJdvOGo2yGEQ2rhgXKnE+keKClgWkQjPZKcSq7g9CIYUIWc\n\t8wDpLXw3JIZxcwFjkPYyANkCQmlxPgwfLYBThqnrRrm7GkU5h3FQW7FJz3OSSkeKil4U/fgF6\n\tokt4nNfwrYZYt4YkBF1ejpvu4jNG3Bsk79QQ7NUI9p84xFYaKtVip53tQbe7koydhon2BmK0e\n\tBKp9nH+Up1BsZS0n5GPhvHU6xVJ2aMm8WtFj9iwxsGMJXbmrTJuB8mIIrgpuN8mZFi/3bUaH2\n\tZ8JV16WtV24Vo8PnFRIZeSWuyZry0+m9wTFfE+5eRcfB71pYPpQ3r/Ai43M+9fxJqxhJT4X+t\n\tXwEVF2KMfDwTlmImZ7Ch49LD1Lo7JqrRLWinjF0giOLCxSgghCBvdn3XrlDi7sJg9Z2Cu1jeg\n\tMDnrFjatk3+E3+/EHOALX2E+RTdmQ==","Cc":"Heinrich Schuchardt <xypron.glpk@gmx.de>, u-boot@lists.denx.de","Subject":"[U-Boot] [PATCH 06/23] efi_loader: new function efi_search_protocol","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":"In multiple functions we are searching for the protocol of a handle.\nThis patch provides a new function efi_search_protocol that we can\nuse to avoid duplicating code.\n\nSigned-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>\n---\n lib/efi_loader/efi_boottime.c | 25 +++++++++++++++++++++++++\n 1 file changed, 25 insertions(+)","diff":"diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c\nindex b643d299b9..9dae02daca 100644\n--- a/lib/efi_loader/efi_boottime.c\n+++ b/lib/efi_loader/efi_boottime.c\n@@ -453,6 +453,31 @@ static efi_status_t EFIAPI efi_check_event(struct efi_event *event)\n \treturn EFI_EXIT(EFI_INVALID_PARAMETER);\n }\n \n+static efi_status_t efi_search_protocol(void *handle, efi_guid_t *protocol_guid,\n+\t\t\t\t\tstruct efi_handler **handler)\n+{\n+\tstruct efi_object *efiobj;\n+\tsize_t i;\n+\tstruct efi_handler *protocol;\n+\n+\tif (!handle || !protocol_guid)\n+\t\treturn EFI_INVALID_PARAMETER;\n+\tefiobj = efi_search_obj(handle);\n+\tif (!efiobj)\n+\t\treturn EFI_INVALID_PARAMETER;\n+\tfor (i = 0; i < ARRAY_SIZE(efiobj->protocols); i++) {\n+\t\tprotocol = &efiobj->protocols[i];\n+\t\tif (!protocol->guid)\n+\t\t\tcontinue;\n+\t\tif (!guidcmp(protocol->guid, protocol_guid)) {\n+\t\t\tif (handler)\n+\t\t\t\t*handler = protocol;\n+\t\t\treturn EFI_SUCCESS;\n+\t\t}\n+\t}\n+\treturn EFI_NOT_FOUND;\n+}\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\tvoid *protocol_interface)\n","prefixes":["U-Boot","06/23"]}