summaryrefslogtreecommitdiffstats
path: root/src/include/fw_config.h
diff options
context:
space:
mode:
authorTim Wawrzynczak <twawrzynczak@chromium.org>2020-11-24 10:33:00 -0700
committerTim Wawrzynczak <twawrzynczak@chromium.org>2020-12-11 16:59:35 +0000
commit473bc8c892c3acf6b1a222a09a53d5a190611bba (patch)
tree581540c8b2feabed18b775337b585c5ac78ddccb /src/include/fw_config.h
parent5258f4f93e2d23e839765349a844d798f054da6a (diff)
downloadcoreboot-473bc8c892c3acf6b1a222a09a53d5a190611bba.tar.gz
coreboot-473bc8c892c3acf6b1a222a09a53d5a190611bba.tar.bz2
coreboot-473bc8c892c3acf6b1a222a09a53d5a190611bba.zip
fw_config: Use UNDEFINED_FW_CONFIG to mean unprovisioned
A mainboard might want to configure some things differently when a device is in an unprovisioned state. In the case when fw_config comes from the Chromium EC, an unprovisioned device will not have a FW_CONFIG tag in its CBI. This patch will set the fw_config value to UNDEFINED_FW_CONFIG in the case of an error retrieving the value, as well as adding a function, `fw_config_is_provisioned()` to indicate the provisioning status. BUG=none TEST=remove fw_config from chromium EC CBI, add code to mainboard to print return value of fw_config_is_provisioned() (`0`), add fw_config back to CBI, run same test and see `1`. Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Change-Id: Ib3046233667e97a5f78961fabacbeb3099b3d442 Reviewed-on: https://review.coreboot.org/c/coreboot/+/47956 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Nick Vaccaro <nvaccaro@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/include/fw_config.h')
-rw-r--r--src/include/fw_config.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/include/fw_config.h b/src/include/fw_config.h
index 3c8772598e4f..b7028713587d 100644
--- a/src/include/fw_config.h
+++ b/src/include/fw_config.h
@@ -57,6 +57,12 @@ bool fw_config_probe(const struct fw_config *match);
void fw_config_for_each_found(void (*cb)(const struct fw_config *config, void *arg), void *arg);
/**
+ * fw_config_is_provisioned() - Determine if FW_CONFIG has been provisioned.
+ * Return %true if FW_CONFIG has been provisioned, %false otherwise.
+ */
+bool fw_config_is_provisioned(void);
+
+/**
* fw_config_get_found() - Return a pointer to the fw_config struct for a given field.
* @field_mask: A field mask from static.h, e.g., FW_CONFIG_FIELD_FEATURE_MASK
*