From c80ff8437d61f0867eccc520cc68d19fe181af14 Mon Sep 17 00:00:00 2001 From: Karthikeyan Ramasubramanian Date: Mon, 17 Sep 2018 16:19:34 -0600 Subject: 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 Tested-by: Karthikeyan Ramasubramanian Reviewed-on: https://review.coreboot.org/28576 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Jett Rink --- src/mainboard/intel/glkrvp/variants/baseboard/boardid.c | 16 ++++++++++++---- .../variants/baseboard/include/baseboard/variants.h | 8 ++++++-- 2 files changed, 18 insertions(+), 6 deletions(-) (limited to 'src/mainboard/intel/glkrvp') 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 +#include #include #include -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 #include -/* 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. */ -- cgit v1.2.3