summaryrefslogtreecommitdiff
path: root/src/mainboard/intel/glkrvp/variants
diff options
context:
space:
mode:
authorKarthikeyan Ramasubramanian <kramasub@chromium.org>2018-09-17 16:19:34 -0600
committerMartin Roth <martinroth@google.com>2018-09-20 17:15:26 +0000
commitc80ff8437d61f0867eccc520cc68d19fe181af14 (patch)
treefd94a2103e48b08c5df10421952a945bc7d68a9e /src/mainboard/intel/glkrvp/variants
parent2beadeec3512d6087ae5057da681e50883d04acf (diff)
ec/google/chromeec: Update google_chromeec_get_board_version prototype
The helper function to get the board version from EC returns 0 on failure. But 0 is also a valid board version. Update the helper function to return -1 on failure and update the use-cases. BUG=b:114001972,b:114677884,b:114677887 Change-Id: I93e8dbce2ff26e76504b132055985f53cbf07d31 Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Tested-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://review.coreboot.org/28576 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Jett Rink <jettrink@google.com>
Diffstat (limited to 'src/mainboard/intel/glkrvp/variants')
-rw-r--r--src/mainboard/intel/glkrvp/variants/baseboard/boardid.c16
-rw-r--r--src/mainboard/intel/glkrvp/variants/baseboard/include/baseboard/variants.h8
2 files changed, 18 insertions, 6 deletions
diff --git a/src/mainboard/intel/glkrvp/variants/baseboard/boardid.c b/src/mainboard/intel/glkrvp/variants/baseboard/boardid.c
index 530c06a993..f6f31bbcd1 100644
--- a/src/mainboard/intel/glkrvp/variants/baseboard/boardid.c
+++ b/src/mainboard/intel/glkrvp/variants/baseboard/boardid.c
@@ -14,13 +14,21 @@
*/
#include <baseboard/variants.h>
+#include <boardid.h>
#include <compiler.h>
#include <ec/google/chromeec/ec.h>
-uint8_t __weak variant_board_id(void)
+int variant_board_id(void)
{
- if (IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC))
- return google_chromeec_get_board_version();
- else
+ MAYBE_STATIC uint32_t id = BOARD_ID_INIT;
+
+ if (IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC)) {
+ if (id == BOARD_ID_INIT) {
+ if (google_chromeec_get_board_version(&id))
+ id = BOARD_ID_UNKNOWN;
+ }
+ return id;
+ } else {
return 0;
+ }
}
diff --git a/src/mainboard/intel/glkrvp/variants/baseboard/include/baseboard/variants.h b/src/mainboard/intel/glkrvp/variants/baseboard/include/baseboard/variants.h
index c278cdee26..cf91a049e9 100644
--- a/src/mainboard/intel/glkrvp/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/intel/glkrvp/variants/baseboard/include/baseboard/variants.h
@@ -21,8 +21,12 @@
#include <stdint.h>
#include <vendorcode/google/chromeos/chromeos.h>
-/* Return the board id for the current variant board. */
-uint8_t variant_board_id(void);
+/**
+ * variant_board_id() - Get the board id for the current board variant
+ *
+ * Return: board id on success, -1 on failure/error.
+ */
+int variant_board_id(void);
/* The next set of functions return the gpio table and fill in the number of
* entries for each table. */