{"id":809825,"url":"http://patchwork.ozlabs.org/api/1.0/patches/809825/?format=json","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.0/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},"msgid":"<1504555943-12893-3-git-send-email-pantelis.antoniou@konsulko.com>","date":"2017-09-04T20:12:11","name":"[U-Boot,v3,02/14] fdt: Introduce helper method fdt_overlay_apply_verbose()","commit_ref":"fc7c31891c40dd1aac2e71e9d1546727ca2b3556","pull_url":null,"state":"accepted","archived":false,"hash":"ed0322ce6a3b7c48140a379185131a64401dce28","submitter":{"id":64098,"url":"http://patchwork.ozlabs.org/api/1.0/people/64098/?format=json","name":"Pantelis Antoniou","email":"pantelis.antoniou@konsulko.com"},"delegate":{"id":3184,"url":"http://patchwork.ozlabs.org/api/1.0/users/3184/?format=json","username":"sjg","first_name":"Simon","last_name":"Glass","email":"sjg@chromium.org"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/1504555943-12893-3-git-send-email-pantelis.antoniou@konsulko.com/mbox/","series":[{"id":1453,"url":"http://patchwork.ozlabs.org/api/1.0/series/1453/?format=json","date":"2017-09-04T20:12:09","name":"uboot overlays, FIT image & unittest","version":3,"mbox":"http://patchwork.ozlabs.org/series/1453/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/809825/checks/","tags":{},"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>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=konsulko.com header.i=@konsulko.com\n\theader.b=\"KzOnCvM3\"; dkim-atps=neutral"],"Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xmLgd5cSRz9t2R\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  5 Sep 2017 06:15:25 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 79879C21F6E; Mon,  4 Sep 2017 20:13:33 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 3044AC21F4B;\n\tMon,  4 Sep 2017 20:13:06 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid DAA66C21EEC; Mon,  4 Sep 2017 20:12:59 +0000 (UTC)","from mail-wm0-f50.google.com (mail-wm0-f50.google.com\n\t[74.125.82.50])\n\tby lists.denx.de (Postfix) with ESMTPS id C79A6C21C2F\n\tfor <u-boot@lists.denx.de>; Mon,  4 Sep 2017 20:12:55 +0000 (UTC)","by mail-wm0-f50.google.com with SMTP id v2so10137692wmf.0\n\tfor <u-boot@lists.denx.de>; Mon, 04 Sep 2017 13:12:55 -0700 (PDT)","from localhost.localdomain ([195.97.110.117])\n\tby smtp.gmail.com with ESMTPSA id\n\tu8sm3720435wrc.92.2017.09.04.13.12.53\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tMon, 04 Sep 2017 13:12:55 -0700 (PDT)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,\n\tT_DKIM_INVALID autolearn=unavailable\n\tautolearn_force=no version=3.4.0","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com;\n\ts=google; \n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=xp207IB7jnVxPcialh/VExt99MWJvpeaRHq1JdjyR4w=;\n\tb=KzOnCvM3jTkkxmwlS0SeMuipevlwSX3FlqbiHQHZyTkVYxixWOzcF+PQlNL26bd4Ze\n\tncZq58SelUbGUHWjK4cmBgo5KeNZh2DS1wQHx8LvTRK5I0PBukfoKviFGZNoclzyprkz\n\td7StpAJ7z/2NL4sRbMUvqPIReKblB4NvMqhxk=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=xp207IB7jnVxPcialh/VExt99MWJvpeaRHq1JdjyR4w=;\n\tb=B++/6mwhO+UZCRFMACiaIXTqTmkCm2/Carf7Ya7j7s/iLxwlqEWmLFRM5c7zif2PH4\n\tjr8a/6SYaWi5Mb4s8+TRTJwcbTfUdH0FV7hVzhC4ozoUwpIXDi96pS97r5bpVlm0yY65\n\tUyveA9+1fWYeRUgEkJGQgRjbBWmKzUSPgYaVYbEXhNBOFO4Yh5fe3dpkD0TcfQYHtAU2\n\ts8wR1h26obN05kQFb3YoSNHAWq9VUAiJMNaWVQ3tscj61U34LS8iNKeLM9Yocz3Kagq+\n\t/UvZGP2rdtj6y02n9MrtcBtjS+ZLGa6hYvTRkRb0r7PXDXrF73MMheCPaX/BzrpTAbX8\n\t5bIw==","X-Gm-Message-State":"AHPjjUirunCldvXE+qFpTDIxOH7HzasqbwN3BIgGVCowH4qSAPG+1oyA\n\tD5OlGQfXuu9M6D58","X-Google-Smtp-Source":"ADKCNb73bBFqAy1Yw75e/2QD9CbYBkxGNoFREkYUgJ75O1m0eoweU0DduiztvuXB9/JlS7y2z4HmBQ==","X-Received":"by 10.28.154.209 with SMTP id c200mr1143783wme.167.1504555975502;\n\tMon, 04 Sep 2017 13:12:55 -0700 (PDT)","From":"Pantelis Antoniou <pantelis.antoniou@konsulko.com>","To":"Tom Rini <trini@konsulko.com>","Date":"Mon,  4 Sep 2017 23:12:11 +0300","Message-Id":"<1504555943-12893-3-git-send-email-pantelis.antoniou@konsulko.com>","X-Mailer":"git-send-email 2.1.4","In-Reply-To":"<1504555943-12893-1-git-send-email-pantelis.antoniou@konsulko.com>","References":"<1504555943-12893-1-git-send-email-pantelis.antoniou@konsulko.com>","Cc":"Marek Vasut <marex@denx.de>,\n\tPantelis Antoniou <pantelis.antoniou@konsulko.com>,\n\tTero Kristo <t-kristo@ti.com>, u-boot@lists.denx.de,\n\tMaxime Ripard <maxime.ripard@free-electrons.com>,\n\tStefan Roese <sr@denx.de>, Alan Ott <alan@signal11.us>","Subject":"[U-Boot] [PATCH v3 02/14] fdt: Introduce helper method\n\tfdt_overlay_apply_verbose()","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":"Introduce fdt_overlay_apply_verbose, a method that applies an\noverlay but in the case of an error produces a helpful message.\n\nIn addition if a base tree is found to be missing the __symbols__\nnode the message will point out that the probable reason is that\nthe base tree was miscompiled without the -@ option.\n\nSigned-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>\n---\n common/fdt_support.c  | 31 +++++++++++++++++++++++++++++++\n include/fdt_support.h |  2 ++\n 2 files changed, 33 insertions(+)","diff":"diff --git a/common/fdt_support.c b/common/fdt_support.c\nindex 916a448..f4f9543 100644\n--- a/common/fdt_support.c\n+++ b/common/fdt_support.c\n@@ -1655,3 +1655,34 @@ int fdt_fixup_display(void *blob, const char *path, const char *display)\n \t}\n \treturn toff;\n }\n+\n+#ifdef CONFIG_OF_LIBFDT_OVERLAY\n+/**\n+ * fdt_overlay_apply_verbose - Apply an overlay with verbose error reporting\n+ *\n+ * @fdt: ptr to device tree\n+ * @fdto: ptr to device tree overlay\n+ *\n+ * Convenience function to apply an overlay and display helpful messages\n+ * in the case of an error\n+ */\n+int fdt_overlay_apply_verbose(void *fdt, void *fdto)\n+{\n+\tint err;\n+\tbool has_symbols;\n+\n+\terr = fdt_path_offset(fdt, \"/__symbols__\");\n+\thas_symbols = err >= 0;\n+\n+\terr = fdt_overlay_apply(fdt, fdto);\n+\tif (err < 0) {\n+\t\tprintf(\"failed on fdt_overlay_apply(): %s\\n\",\n+\t\t\t\tfdt_strerror(err));\n+\t\tif (!has_symbols) {\n+\t\t\tprintf(\"base fdt does did not have a /__symbols__ node\\n\");\n+\t\t\tprintf(\"make sure you've compiled with -@\\n\");\n+\t\t}\n+\t}\n+\treturn err;\n+}\n+#endif\ndiff --git a/include/fdt_support.h b/include/fdt_support.h\nindex 5ef78cc..2bca4d7 100644\n--- a/include/fdt_support.h\n+++ b/include/fdt_support.h\n@@ -264,6 +264,8 @@ int arch_fixup_memory_node(void *blob);\n int fdt_setup_simplefb_node(void *fdt, int node, u64 base_address, u32 width,\n \t\t\t    u32 height, u32 stride, const char *format);\n \n+int fdt_overlay_apply_verbose(void *fdt, void *fdto);\n+\n #endif /* ifdef CONFIG_OF_LIBFDT */\n \n #ifdef USE_HOSTCC\n","prefixes":["U-Boot","v3","02/14"]}