{"id":807275,"url":"http://patchwork.ozlabs.org/api/1.0/patches/807275/?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":"<20170829201601.64312-3-sjg@chromium.org>","date":"2017-08-29T20:15:47","name":"[U-Boot,v2,02/16] dtoc: Adjust Node to record its parent","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"1c2c5c29f42bf46b6bd036669e362f9ef56e0bd4","submitter":{"id":6170,"url":"http://patchwork.ozlabs.org/api/1.0/people/6170/?format=json","name":"Simon Glass","email":"sjg@chromium.org"},"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/20170829201601.64312-3-sjg@chromium.org/mbox/","series":[{"id":462,"url":"http://patchwork.ozlabs.org/api/1.0/series/462/?format=json","date":"2017-08-29T20:15:45","name":"dtoc: Add support for 64-bit addresses","version":2,"mbox":"http://patchwork.ozlabs.org/series/462/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/807275/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\" (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"GXXbuJ9x\"; dkim-atps=neutral"],"Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xhg7K6Ygnz9sRV\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 30 Aug 2017 06:23:09 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 94ACEC21E1E; Tue, 29 Aug 2017 20:17:37 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 7C7E2C221BC;\n\tTue, 29 Aug 2017 20:16:29 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 5E615C221BC; Tue, 29 Aug 2017 20:16:17 +0000 (UTC)","from mail-oi0-f53.google.com (mail-oi0-f53.google.com\n\t[209.85.218.53])\n\tby lists.denx.de (Postfix) with ESMTPS id E7B5DC225A6\n\tfor <u-boot@lists.denx.de>; Tue, 29 Aug 2017 20:16:13 +0000 (UTC)","by mail-oi0-f53.google.com with SMTP id r203so36445916oih.0\n\tfor <u-boot@lists.denx.de>; Tue, 29 Aug 2017 13:16:13 -0700 (PDT)","from kiwi.bld.corp.google.com ([100.101.164.89])\n\tby smtp.gmail.com with ESMTPSA id\n\tn2sm3669484oib.27.2017.08.29.13.16.09\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 29 Aug 2017 13:16:09 -0700 (PDT)","by kiwi.bld.corp.google.com (Postfix, from userid 121222)\n\tid B7D2513FAB7; Tue, 29 Aug 2017 14:16:08 -0600 (MDT)"],"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=google.com;\n\ts=20161025; \n\th=sender:from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=ddHxAA57aLoRKPGFLOPsxVYOFiwBY4xH+6TXxKSU8Ig=;\n\tb=GXXbuJ9xivJL5JPO2N1iMu6ihmKWNuBkkaeED7gZvv4xxVFnLgS8jPXcNvDVtB4W3g\n\tJxqpqvnsMSsESlZB8LCU6xMMDT6hGGAJtyiiR0/Nu+rKJYWpj4NYAQLhbBFTXnwa4s8E\n\tuefReStL5PemRW6oudSHVz0JHzieKBf0YNJ95bjxEdCYfVlgZCurLtj2Z0/Mo+P1lccK\n\tkdg9wvE2sKCfBTTspHn5TAKNNEOVGUOwdfO39AU0D/aj4nPmt57P2J3IGQalcQZt6jo2\n\tpz3QLQgBR30TgM7190zMaiA+f8kQRXd9RaLdLXHnAUYkg/4b91fJC4qXgpRB37GAem3/\n\tlw3A==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:from:to:cc:subject:date:message-id\n\t:in-reply-to:references;\n\tbh=ddHxAA57aLoRKPGFLOPsxVYOFiwBY4xH+6TXxKSU8Ig=;\n\tb=i8UdiZoEF+7JuVpcIlJreoBh6pbpqv1A6USEcm4Pl9KtP6UbrLWPyMqE1e8fLFSMsd\n\tT4xdPwj80KXZSQGYZZDmRv4ukXefzZh9Imiwbpv8vcGte8ZFos5TE80TNKa+2juZOoRD\n\te02m3ElzOfKS8Wdpd+MmdPwvc8/LWUqro/9DQfmfrkkj0m447NKZqnYaSuO/EkrNlgXt\n\tMw/kAm1ANuP3EZzO5Ljv3iidXY3IpgLCQ8OhWfw7DG+Nvjl9U1h4TK9DXxsUVnSBE4LI\n\tJ0Lp5/iGec1Sf1DaMB7k05Pup8rRPKAs1UNLdHbFkDR9d1hpmSNZDnX1aqoUhbpLfhmf\n\tDZ5w==","X-Gm-Message-State":"AHYfb5ghn7CVsv0fGphJQN1CDKvMllA9O+VSjH4YjOYZwI+OHDfSsTt3\n\tl93KeDvYqQCShiiFwiWYNQ==","X-Google-Smtp-Source":"ADKCNb5iXeJB+EhMbMBotD932t6Gr5gzmamHaF4cymXeLVMkJT/AvANjYEBafsB+C5/adn/4jCeFXw==","X-Received":"by 10.202.169.19 with SMTP id s19mr574788oie.306.1504037772347; \n\tTue, 29 Aug 2017 13:16:12 -0700 (PDT)","From":"Simon Glass <sjg@chromium.org>","To":"U-Boot Mailing List <u-boot@lists.denx.de>","Date":"Tue, 29 Aug 2017 14:15:47 -0600","Message-Id":"<20170829201601.64312-3-sjg@chromium.org>","X-Mailer":"git-send-email 2.14.1.342.g6490525c54-goog","In-Reply-To":"<20170829201601.64312-1-sjg@chromium.org>","References":"<20170829201601.64312-1-sjg@chromium.org>","Cc":"Tom Rini <trini@konsulko.com>","Subject":"[U-Boot] [PATCH v2 02/16] dtoc: Adjust Node to record its parent","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 be able to search back up the tree for #address-cells and\n #size-cells. Record the parent of each node to make this easier.\n\nSigned-off-by: Simon Glass <sjg@chromium.org>\nReviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>\nTested-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>\n---\n\nChanges in v2: None\n\n tools/dtoc/fdt.py | 12 +++++++-----\n 1 file changed, 7 insertions(+), 5 deletions(-)","diff":"diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py\nindex 63a32ea2d7..49409a62ec 100644\n--- a/tools/dtoc/fdt.py\n+++ b/tools/dtoc/fdt.py\n@@ -174,8 +174,9 @@ class Node:\n         props: A dict of properties for this node, each a Prop object.\n             Keyed by property name\n     \"\"\"\n-    def __init__(self, fdt, offset, name, path):\n+    def __init__(self, fdt, parent, offset, name, path):\n         self._fdt = fdt\n+        self.parent = parent\n         self._offset = offset\n         self.name = name\n         self.path = path\n@@ -217,7 +218,7 @@ class Node:\n             sep = '' if self.path[-1] == '/' else '/'\n             name = self._fdt._fdt_obj.get_name(offset)\n             path = self.path + sep + name\n-            node = Node(self._fdt, offset, name, path)\n+            node = Node(self._fdt, self, offset, name, path)\n             self.subnodes.append(node)\n \n             node.Scan()\n@@ -279,7 +280,7 @@ class Fdt:\n \n         TODO(sjg@chromium.org): Implement the 'root' parameter\n         \"\"\"\n-        self._root = self.Node(self, 0, '/', '/')\n+        self._root = self.Node(self, None, 0, '/', '/')\n         self._root.Scan()\n \n     def GetRoot(self):\n@@ -386,7 +387,7 @@ class Fdt:\n         return libfdt.fdt_off_dt_struct(self._fdt) + offset\n \n     @classmethod\n-    def Node(self, fdt, offset, name, path):\n+    def Node(self, fdt, parent, offset, name, path):\n         \"\"\"Create a new node\n \n         This is used by Fdt.Scan() to create a new node using the correct\n@@ -394,11 +395,12 @@ class Fdt:\n \n         Args:\n             fdt: Fdt object\n+            parent: Parent node, or None if this is the root node\n             offset: Offset of node\n             name: Node name\n             path: Full path to node\n         \"\"\"\n-        node = Node(fdt, offset, name, path)\n+        node = Node(fdt, parent, offset, name, path)\n         return node\n \n def FdtScan(fname):\n","prefixes":["U-Boot","v2","02/16"]}