<p>Furquan Shaikh has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/26741">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">util/sconfig: Get rid of nextdev member in struct device<br><br>Now that chips and devices are treated differently and the device tree<br>actually contains only devices, next and nextdev are exactly the same<br>for all devices in the tree. This change gets rid of nextdev pointer<br>and updates all uses of nextdev to next.<br><br>BUG=80081934<br>TEST=Verified that static.c generated for all boards built by abuild<br>is same with and without this change.<br><br>Change-Id: Ie50b3d769a78fe0beddba2e5551441b43cb212a2<br>Signed-off-by: Furquan Shaikh <furquan@google.com><br>---<br>M util/sconfig/main.c<br>M util/sconfig/sconfig.h<br>2 files changed, 10 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/41/26741/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/util/sconfig/main.c b/util/sconfig/main.c</span><br><span>index 32d7aac..10e6e67 100644</span><br><span>--- a/util/sconfig/main.c</span><br><span>+++ b/util/sconfig/main.c</span><br><span>@@ -20,7 +20,7 @@</span><br><span> </span><br><span> extern int linenum;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-struct device *head, *lastdev;</span><br><span style="color: hsl(120, 100%, 40%);">+struct device *head, *lastnode;</span><br><span> </span><br><span> static struct chip chip_header;</span><br><span> </span><br><span>@@ -185,9 +185,9 @@</span><br><span>                /* skip functions of the same device in sibling chain */</span><br><span>             while (dev->sibling && dev->sibling->used)</span><br><span>                  dev->sibling = dev->sibling->sibling;</span><br><span style="color: hsl(0, 100%, 40%);">-          /* skip duplicate function elements in nextdev chain */</span><br><span style="color: hsl(0, 100%, 40%);">-         while (dev->nextdev && dev->nextdev->used)</span><br><span style="color: hsl(0, 100%, 40%);">-                     dev->nextdev = dev->nextdev->nextdev;</span><br><span style="color: hsl(120, 100%, 40%);">+                /* skip duplicate function elements in next chain */</span><br><span style="color: hsl(120, 100%, 40%);">+          while (dev->next && dev->next->used)</span><br><span style="color: hsl(120, 100%, 40%);">+                 dev->next = dev->next->next;</span><br><span>                dev = dev->next_sibling;</span><br><span>  }</span><br><span> }</span><br><span>@@ -304,8 +304,8 @@</span><br><span>         if (!parent->children)</span><br><span>            parent->children = new_d;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        lastdev->nextdev = new_d;</span><br><span style="color: hsl(0, 100%, 40%);">-    lastdev = new_d;</span><br><span style="color: hsl(120, 100%, 40%);">+      lastnode->next = new_d;</span><br><span style="color: hsl(120, 100%, 40%);">+    lastnode = new_d;</span><br><span> </span><br><span>        switch (bustype) {</span><br><span>   case PCI:</span><br><span>@@ -546,8 +546,8 @@</span><br><span>              if (chip_ins->chip->chiph_exists)</span><br><span>                      fprintf(fil, "\t.chip_info = &%s_info_%d,\n",</span><br><span>                          chip_ins->chip->name_underscore, chip_ins->id);</span><br><span style="color: hsl(0, 100%, 40%);">-                if (ptr->nextdev)</span><br><span style="color: hsl(0, 100%, 40%);">-                    fprintf(fil, "\t.next=&%s\n", ptr->nextdev->name);</span><br><span style="color: hsl(120, 100%, 40%);">+                if (ptr->next)</span><br><span style="color: hsl(120, 100%, 40%);">+                     fprintf(fil, "\t.next=&%s\n", ptr->next->name);</span><br><span>          fprintf(fil, "};\n");</span><br><span>      }</span><br><span>    if (ptr->rescnt > 0) {</span><br><span>@@ -748,7 +748,7 @@</span><br><span> </span><br><span>       yyrestart(filec);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   lastdev = head = &root;</span><br><span style="color: hsl(120, 100%, 40%);">+   lastnode = head = &root;</span><br><span> </span><br><span>     yyparse();</span><br><span> </span><br><span>@@ -769,7 +769,7 @@</span><br><span>         walk_device_tree(autogen, &root, pass0, NULL);</span><br><span>   fprintf(autogen, "\n/* pass 1 */\n"</span><br><span>                "DEVTREE_CONST struct device * DEVTREE_CONST last_dev = &%s;\n",</span><br><span style="color: hsl(0, 100%, 40%);">-          lastdev->name);</span><br><span style="color: hsl(120, 100%, 40%);">+            lastnode->name);</span><br><span>  walk_device_tree(autogen, &root, pass1, NULL);</span><br><span> </span><br><span>       fclose(autogen);</span><br><span>diff --git a/util/sconfig/sconfig.h b/util/sconfig/sconfig.h</span><br><span>index d2a3d28..d71d5ef 100644</span><br><span>--- a/util/sconfig/sconfig.h</span><br><span>+++ b/util/sconfig/sconfig.h</span><br><span>@@ -98,7 +98,6 @@</span><br><span> </span><br><span>        struct device *parent;</span><br><span>       struct device *next;</span><br><span style="color: hsl(0, 100%, 40%);">-    struct device *nextdev;</span><br><span>      struct device *children;</span><br><span>     struct device *latestchild;</span><br><span>  struct device *next_sibling;</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/26741">change 26741</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/26741"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ie50b3d769a78fe0beddba2e5551441b43cb212a2 </div>
<div style="display:none"> Gerrit-Change-Number: 26741 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Furquan Shaikh <furquan@google.com> </div>