<p>Patrick Georgi has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/21896">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">soc/intel/common: refactor locate_vbt<br><br>All callers of locate_vbt just care about the file content and<br>immediately map the rdev for its content.<br>Instead of repeating this in all call sites, move that code to<br>locate_vbt.<br><br>Change-Id: I5b518e6c959437bd8f393269db7955358a786719<br>Signed-off-by: Patrick Georgi <pgeorgi@google.com><br>---<br>M src/drivers/intel/fsp2_0/graphics.c<br>M src/soc/intel/common/opregion.c<br>M src/soc/intel/common/vbt.c<br>M src/soc/intel/common/vbt.h<br>4 files changed, 9 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/96/21896/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/drivers/intel/fsp2_0/graphics.c b/src/drivers/intel/fsp2_0/graphics.c<br>index 84f2d6d..e2ff7cf 100644<br>--- a/src/drivers/intel/fsp2_0/graphics.c<br>+++ b/src/drivers/intel/fsp2_0/graphics.c<br>@@ -99,8 +99,7 @@<br>   struct region_device rdev;<br>    void *vbt_data = NULL;<br> <br>-    if (locate_vbt(&rdev) != CB_ERR)<br>-         vbt_data = rdev_mmap_full(&rdev);<br>+        vbt_data = locate_vbt(&rdev);<br> <br>  if (vbt_data == NULL)<br>                 printk(BIOS_NOTICE, "Could not locate a VBT file in CBFS\n");<br>diff --git a/src/soc/intel/common/opregion.c b/src/soc/intel/common/opregion.c<br>index 6cb388c..1eb8609 100644<br>--- a/src/soc/intel/common/opregion.c<br>+++ b/src/soc/intel/common/opregion.c<br>@@ -27,12 +27,7 @@<br>      optionrom_vbt_t *vbt;<br>         optionrom_vbt_t *ext_vbt;<br> <br>- if (locate_vbt(&vbt_rdev) == CB_ERR) {<br>-           printk(BIOS_ERR, "VBT not found\n");<br>-               return CB_ERR;<br>-       };<br>-<br>-        vbt = rdev_mmap_full(&vbt_rdev);<br>+ vbt = locate_vbt(&vbt_rdev);<br> <br>   if (!vbt) {<br>           printk(BIOS_ERR, "VBT couldn't be read\n");<br>diff --git a/src/soc/intel/common/vbt.c b/src/soc/intel/common/vbt.c<br>index 40ff4ce..5b23843 100644<br>--- a/src/soc/intel/common/vbt.c<br>+++ b/src/soc/intel/common/vbt.c<br>@@ -31,7 +31,7 @@<br>         return vbt_filename;<br> }<br> <br>-enum cb_err locate_vbt(struct region_device *rdev)<br>+void *locate_vbt(struct region_device *rdev)<br> {<br>   uint32_t vbtsig = 0;<br>  struct cbfsf file_desc;<br>@@ -40,7 +40,7 @@<br> <br>         if (cbfs_boot_locate(&file_desc, filename, NULL) < 0) {<br>                printk(BIOS_ERR, "Could not locate a VBT file in in CBFS\n");<br>-              return CB_ERR;<br>+               return NULL;<br>  }<br> <br>  cbfs_file_data(rdev, &file_desc);<br>@@ -48,16 +48,14 @@<br> <br>         if (vbtsig != VBT_SIGNATURE) {<br>                printk(BIOS_ERR, "Missing/invalid signature in VBT data file!\n");<br>-         return CB_ERR;<br>+               return NULL;<br>  }<br> <br>- return CB_SUCCESS;<br>+   return rdev_mmap_full(rdev);<br> }<br> <br> void *vbt_get(struct region_device *rdev)<br> {<br>-  void *vbt_data;<br>-<br>    if (!IS_ENABLED(CONFIG_RUN_FSP_GOP))<br>          return NULL;<br> <br>@@ -67,10 +65,5 @@<br>           return NULL;<br>  if (!display_init_required())<br>                 return NULL;<br>- if (locate_vbt(rdev) != CB_ERR) {<br>-            vbt_data = rdev_mmap_full(rdev);<br>-             return vbt_data;<br>-     } else {<br>-             return NULL;<br>- }<br>+    return locate_vbt(rdev);<br> }<br>diff --git a/src/soc/intel/common/vbt.h b/src/soc/intel/common/vbt.h<br>index 7b65d74..2d52fea 100644<br>--- a/src/soc/intel/common/vbt.h<br>+++ b/src/soc/intel/common/vbt.h<br>@@ -27,8 +27,8 @@<br>  */<br> const char *mainboard_vbt_filename(void);<br> <br>-/* locate .vbt file */<br>-enum cb_err locate_vbt(struct region_device *rdev);<br>+/* locate vbt.bin file. Returns a pointer to its content. */<br>+void *locate_vbt(struct region_device *rdev);<br> /*<br>  * Returns VBT pointer and mapping after checking prerequisites for Pre OS<br>  * Graphics initialization<br></pre><p>To view, visit <a href="https://review.coreboot.org/21896">change 21896</a>. To unsubscribe, 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/21896"/><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: I5b518e6c959437bd8f393269db7955358a786719 </div>
<div style="display:none"> Gerrit-Change-Number: 21896 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Patrick Georgi <pgeorgi@google.com> </div>