[coreboot-gerrit] Change in coreboot[master]: soc/intel/common/opregion: Use enum cb_err as return value
Patrick Rudolph (Code Review)
gerrit at coreboot.org
Thu Jun 15 09:32:48 CEST 2017
Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/20220
Change subject: soc/intel/common/opregion: Use enum cb_err as return value
......................................................................
soc/intel/common/opregion: Use enum cb_err as return value
Return CB_SUCCESS and CB_ERR and check return values.
Do not write ACPI table in case no valid opregion
was provided.
Change-Id: Ib99fcfe347b98736979fc82ab3de48bfc6fc7dcd
Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
M src/soc/intel/apollolake/graphics.c
M src/soc/intel/common/opregion.c
M src/soc/intel/common/opregion.h
M src/soc/intel/skylake/igd.c
M src/soc/intel/skylake/opregion.c
5 files changed, 14 insertions(+), 13 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/20/20220/1
diff --git a/src/soc/intel/apollolake/graphics.c b/src/soc/intel/apollolake/graphics.c
index 7123e4f..0893d7d 100644
--- a/src/soc/intel/apollolake/graphics.c
+++ b/src/soc/intel/apollolake/graphics.c
@@ -44,7 +44,7 @@
printk(BIOS_DEBUG, "ACPI: * IGD OpRegion\n");
opregion = (igd_opregion_t *)current;
- if (!init_igd_opregion(opregion))
+ if (init_igd_opregion(opregion) != CB_SUCCESS)
return current;
current += sizeof(igd_opregion_t);
diff --git a/src/soc/intel/common/opregion.c b/src/soc/intel/common/opregion.c
index 25c0a58..6cb388c 100644
--- a/src/soc/intel/common/opregion.c
+++ b/src/soc/intel/common/opregion.c
@@ -21,7 +21,7 @@
#include "opregion.h"
#include "vbt.h"
-int init_igd_opregion(igd_opregion_t *opregion)
+enum cb_err init_igd_opregion(igd_opregion_t *opregion)
{
struct region_device vbt_rdev;
optionrom_vbt_t *vbt;
@@ -29,14 +29,14 @@
if (locate_vbt(&vbt_rdev) == CB_ERR) {
printk(BIOS_ERR, "VBT not found\n");
- return 0;
+ return CB_ERR;
};
vbt = rdev_mmap_full(&vbt_rdev);
if (!vbt) {
printk(BIOS_ERR, "VBT couldn't be read\n");
- return 0;
+ return CB_ERR;
}
memset(opregion, 0, sizeof(igd_opregion_t));
@@ -51,7 +51,7 @@
if (ext_vbt == NULL) {
printk(BIOS_ERR, "Unable to add Ext VBT to cbmem!\n");
- return 0;
+ return CB_ERR;
}
memcpy(ext_vbt, vbt, vbt->hdr_vbt_size);
@@ -71,5 +71,5 @@
rdev_munmap(&vbt_rdev, vbt);
- return 1;
+ return CB_SUCCESS;
}
diff --git a/src/soc/intel/common/opregion.h b/src/soc/intel/common/opregion.h
index bcffe6e..7945a49 100644
--- a/src/soc/intel/common/opregion.h
+++ b/src/soc/intel/common/opregion.h
@@ -19,6 +19,6 @@
#include <drivers/intel/gma/opregion.h>
/* Loads vbt and initializes opregion. Returns non-zero on success */
-int init_igd_opregion(igd_opregion_t *opregion);
+enum cb_err init_igd_opregion(igd_opregion_t *opregion);
#endif /* _COMMON_OPREGION_H_ */
diff --git a/src/soc/intel/skylake/igd.c b/src/soc/intel/skylake/igd.c
index 7aa8db7..30e7d88 100644
--- a/src/soc/intel/skylake/igd.c
+++ b/src/soc/intel/skylake/igd.c
@@ -168,10 +168,11 @@
printk(BIOS_DEBUG, "ACPI: * IGD OpRegion\n");
opregion = (igd_opregion_t *)current;
- init_igd_opregion(opregion);
- update_igd_opregion(opregion);
- current += sizeof(igd_opregion_t);
- current = acpi_align_current(current);
+ if (init_igd_opregion(opregion) == CB_SUCCESS) {
+ update_igd_opregion(opregion);
+ current += sizeof(igd_opregion_t);
+ current = acpi_align_current(current);
+ }
printk(BIOS_DEBUG, "current = %lx\n", current);
return current;
diff --git a/src/soc/intel/skylake/opregion.c b/src/soc/intel/skylake/opregion.c
index 4539560..ef7d4ab 100644
--- a/src/soc/intel/skylake/opregion.c
+++ b/src/soc/intel/skylake/opregion.c
@@ -19,7 +19,7 @@
#include <stdlib.h>
#include <string.h>
-int init_igd_opregion(igd_opregion_t *opregion)
+enum cb_err init_igd_opregion(igd_opregion_t *opregion)
{
const optionrom_vbt_t *vbt;
uint32_t vbt_len;
@@ -46,5 +46,5 @@
/* We just assume we're mobile for now */
opregion->header.mailboxes = MAILBOXES_MOBILE;
- return 0;
+ return CB_SUCCESS;
}
--
To view, visit https://review.coreboot.org/20220
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib99fcfe347b98736979fc82ab3de48bfc6fc7dcd
Gerrit-Change-Number: 20220
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <siro at das-labor.org>
More information about the coreboot-gerrit
mailing list