<p>Furquan Shaikh has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/26737">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">util/sconfig: Change chip_queue to be more generic<br><br>This CL changes chip_queue to be more generic to allow any data to be<br>added/removed to/from queue.<br><br>BUG=b:80081934<br><br>Change-Id: I4c094e5bb53cb1f8e6aebba2df0df7a2bb05f3ef<br>Signed-off-by: Furquan Shaikh <furquan@google.com><br>---<br>M util/sconfig/main.c<br>M util/sconfig/sconfig.h<br>M util/sconfig/sconfig.tab.c_shipped<br>M util/sconfig/sconfig.y<br>4 files changed, 22 insertions(+), 22 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/37/26737/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 41e850c..0659ecd 100644</span><br><span>--- a/util/sconfig/main.c</span><br><span>+++ b/util/sconfig/main.c</span><br><span>@@ -53,29 +53,29 @@</span><br><span>        .enabled = 1</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static struct chip_queue {</span><br><span style="color: hsl(0, 100%, 40%);">-        struct chip *ptr;</span><br><span style="color: hsl(0, 100%, 40%);">-       struct chip_queue *next;</span><br><span style="color: hsl(0, 100%, 40%);">-        struct chip_queue *prev;</span><br><span style="color: hsl(120, 100%, 40%);">+static struct queue {</span><br><span style="color: hsl(120, 100%, 40%);">+       void *data;</span><br><span style="color: hsl(120, 100%, 40%);">+   struct queue *next;</span><br><span style="color: hsl(120, 100%, 40%);">+   struct queue *prev;</span><br><span> } *q;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-struct chip_queue *new_chip_queue_entry(struct chip *c)</span><br><span style="color: hsl(120, 100%, 40%);">+struct queue *new_entry(void *data)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-       struct chip_queue *e = malloc(sizeof(*e));</span><br><span style="color: hsl(120, 100%, 40%);">+    struct queue *e = malloc(sizeof(*e));</span><br><span> </span><br><span>    if (!e) {</span><br><span>            fprintf(stderr, "%s: malloc failure!\n", __func__);</span><br><span>                exit(1);</span><br><span>     }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   e->ptr = c;</span><br><span style="color: hsl(120, 100%, 40%);">+        e->data = data;</span><br><span>   e->next = e->prev = e;</span><br><span>         return e;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void push_chip(struct chip *c)</span><br><span style="color: hsl(120, 100%, 40%);">+void enqueue(void *data)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- struct chip_queue *tmp = new_chip_queue_entry(c);</span><br><span style="color: hsl(120, 100%, 40%);">+     struct queue *tmp = new_entry(data);</span><br><span> </span><br><span>     if (!q) {</span><br><span>            q = tmp;</span><br><span>@@ -88,10 +88,10 @@</span><br><span>       tmp->next = q;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-struct chip *pop_chip(void)</span><br><span style="color: hsl(120, 100%, 40%);">+void *dequeue(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- struct chip_queue *tmp = q->prev;</span><br><span style="color: hsl(0, 100%, 40%);">-    struct chip *c;</span><br><span style="color: hsl(120, 100%, 40%);">+       struct queue *tmp = q->prev;</span><br><span style="color: hsl(120, 100%, 40%);">+       void *data;</span><br><span> </span><br><span>      if (tmp == q)</span><br><span>                q = NULL;</span><br><span>@@ -100,10 +100,10 @@</span><br><span>            q->prev = tmp->prev;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   c = tmp->ptr;</span><br><span style="color: hsl(120, 100%, 40%);">+      data = tmp->data;</span><br><span>         free(tmp);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  return c;</span><br><span style="color: hsl(120, 100%, 40%);">+     return data;</span><br><span> }</span><br><span> </span><br><span> static struct device *new_dev(struct device *parent)</span><br><span>diff --git a/util/sconfig/sconfig.h b/util/sconfig/sconfig.h</span><br><span>index 49e22ad..b9df91e 100644</span><br><span>--- a/util/sconfig/sconfig.h</span><br><span>+++ b/util/sconfig/sconfig.h</span><br><span>@@ -122,5 +122,5 @@</span><br><span> </span><br><span> void yyrestart(FILE *input_file);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void push_chip(struct chip *chip);</span><br><span style="color: hsl(0, 100%, 40%);">-struct chip *pop_chip(void);</span><br><span style="color: hsl(120, 100%, 40%);">+void enqueue(void *data);</span><br><span style="color: hsl(120, 100%, 40%);">+void *dequeue(void);</span><br><span>diff --git a/util/sconfig/sconfig.tab.c_shipped b/util/sconfig/sconfig.tab.c_shipped</span><br><span>index e001b31..17bb31f 100644</span><br><span>--- a/util/sconfig/sconfig.tab.c_shipped</span><br><span>+++ b/util/sconfig/sconfig.tab.c_shipped</span><br><span>@@ -86,7 +86,7 @@</span><br><span> void yyerror(const char *s);</span><br><span> </span><br><span> static struct device *cur_parent;</span><br><span style="color: hsl(0, 100%, 40%);">- static struct chip *cur_chip;</span><br><span style="color: hsl(120, 100%, 40%);">+static struct chip *cur_chip;</span><br><span> </span><br><span> </span><br><span> </span><br><span>@@ -1301,7 +1301,7 @@</span><br><span> </span><br><span>     {</span><br><span>         (yyval.chip) = new_chip((yyvsp[0].string));</span><br><span style="color: hsl(0, 100%, 40%);">-     push_chip(cur_chip);</span><br><span style="color: hsl(120, 100%, 40%);">+  enqueue(cur_chip);</span><br><span>   cur_chip = (yyval.chip);</span><br><span> }</span><br><span> </span><br><span>@@ -1310,7 +1310,7 @@</span><br><span>   case 15:</span><br><span> </span><br><span>     {</span><br><span style="color: hsl(0, 100%, 40%);">-    cur_chip = pop_chip();</span><br><span style="color: hsl(120, 100%, 40%);">+        cur_chip = dequeue();</span><br><span> }</span><br><span> </span><br><span>     break;</span><br><span>diff --git a/util/sconfig/sconfig.y b/util/sconfig/sconfig.y</span><br><span>index 67cc6d3..01ce92d 100755</span><br><span>--- a/util/sconfig/sconfig.y</span><br><span>+++ b/util/sconfig/sconfig.y</span><br><span>@@ -21,7 +21,7 @@</span><br><span> void yyerror(const char *s);</span><br><span> </span><br><span> static struct device *cur_parent;</span><br><span style="color: hsl(0, 100%, 40%);">- static struct chip *cur_chip;</span><br><span style="color: hsl(120, 100%, 40%);">+static struct chip *cur_chip;</span><br><span> </span><br><span> %}</span><br><span> %union {</span><br><span>@@ -41,11 +41,11 @@</span><br><span> </span><br><span> chip: CHIP STRING /* == path */ {</span><br><span>     $<chip>$ = new_chip($<string>2);</span><br><span style="color: hsl(0, 100%, 40%);">-    push_chip(cur_chip);</span><br><span style="color: hsl(120, 100%, 40%);">+  enqueue(cur_chip);</span><br><span>   cur_chip = $<chip>$;</span><br><span> }</span><br><span>      chipchildren END {</span><br><span style="color: hsl(0, 100%, 40%);">-      cur_chip = pop_chip();</span><br><span style="color: hsl(120, 100%, 40%);">+        cur_chip = dequeue();</span><br><span> };</span><br><span> </span><br><span> device: DEVICE BUS NUMBER /* == devnum */ BOOL {</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/26737">change 26737</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/26737"/><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: I4c094e5bb53cb1f8e6aebba2df0df7a2bb05f3ef </div>
<div style="display:none"> Gerrit-Change-Number: 26737 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Furquan Shaikh <furquan@google.com> </div>