diff --git a/src/mainboard/google/zork/variants/baseboard/helpers.c b/src/mainboard/google/zork/variants/baseboard/helpers.c
index d95ab82..cc07fe1 100644
--- a/src/mainboard/google/zork/variants/baseboard/helpers.c
+++ b/src/mainboard/google/zork/variants/baseboard/helpers.c
@@ -57,7 +57,7 @@
 		return 0;
 	}
 
-	if (google_chromeec_cbi_get_fw_config(&known_value)) {
+	if (google_chromeec_cbi_get_fw_config(&known_value) != 0) {
 		printk(BIOS_ERR, "FW_CONFIG not set in CBI\n");
 		return -1;
 	}
@@ -95,7 +95,7 @@
 	if (!CONFIG(VARIANT_SUPPORTS_PRE_V3_SCHEMATICS))
 		return true;
 
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		return false;
 
 	if ((int)board_version < CONFIG_VARIANT_MIN_BOARD_ID_V3_SCHEMATICS)
@@ -111,7 +111,7 @@
 	if (!CONFIG(VARIANT_SUPPORTS_PRE_V3_6_SCHEMATICS))
 		return true;
 
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		return false;
 
 	if ((int)board_version < CONFIG_VARIANT_MIN_BOARD_ID_V3_6_SCHEMATICS)
@@ -136,7 +136,7 @@
 	if (!CONFIG(VARIANT_SUPPORTS_WIFI_POWER_ACTIVE_HIGH))
 		return true;
 
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		return false;
 
 	if ((int)board_version < CONFIG_VARIANT_MIN_BOARD_ID_WIFI_POWER_ACTIVE_LOW)
diff --git a/src/mainboard/google/zork/variants/berknip/gpio.c b/src/mainboard/google/zork/variants/berknip/gpio.c
index c8cb10f..ae2d02a 100644
--- a/src/mainboard/google/zork/variants/berknip/gpio.c
+++ b/src/mainboard/google/zork/variants/berknip/gpio.c
@@ -61,7 +61,7 @@
 	 * and so apply overrides. If board version is provided by the EC, then apply overrides
 	 * if version < 2.
 	 */
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		board_version = 1;
 
 	if (board_version <= 1) {
diff --git a/src/mainboard/google/zork/variants/dalboz/gpio.c b/src/mainboard/google/zork/variants/dalboz/gpio.c
index 7600d4c..2b46938 100644
--- a/src/mainboard/google/zork/variants/dalboz/gpio.c
+++ b/src/mainboard/google/zork/variants/dalboz/gpio.c
@@ -47,7 +47,7 @@
 	 * and so apply overrides. If board version is provided by the EC, then apply overrides
 	 * if version < 2.
 	 */
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		board_version = 1;
 
 	if (board_version < 2) {
diff --git a/src/mainboard/google/zork/variants/dirinboz/gpio.c b/src/mainboard/google/zork/variants/dirinboz/gpio.c
index 8da85b6..7f9582c 100644
--- a/src/mainboard/google/zork/variants/dirinboz/gpio.c
+++ b/src/mainboard/google/zork/variants/dirinboz/gpio.c
@@ -36,7 +36,7 @@
 	 * and so apply overrides. If board version is provided by the EC, then apply overrides
 	 * if version < 2.
 	 */
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		board_version = 1;
 
 	if (board_version < 2) {
diff --git a/src/mainboard/google/zork/variants/ezkinil/gpio.c b/src/mainboard/google/zork/variants/ezkinil/gpio.c
index 0ec1ab23..d2dd104 100644
--- a/src/mainboard/google/zork/variants/ezkinil/gpio.c
+++ b/src/mainboard/google/zork/variants/ezkinil/gpio.c
@@ -81,7 +81,7 @@
 	 * and so apply overrides. If board version is provided by the EC, then apply overrides
 	 * if version < 2.
 	 */
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		board_version = 1;
 
 	if (board_version <= 1) {
diff --git a/src/mainboard/google/zork/variants/morphius/gpio.c b/src/mainboard/google/zork/variants/morphius/gpio.c
index 8da0de4..9b36e37 100644
--- a/src/mainboard/google/zork/variants/morphius/gpio.c
+++ b/src/mainboard/google/zork/variants/morphius/gpio.c
@@ -69,7 +69,7 @@
 	 * and so apply overrides. If board version is provided by the EC, then apply overrides
 	 * if version < 2.
 	 */
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		board_version = 1;
 
 	if (board_version <= 1) {
diff --git a/src/mainboard/google/zork/variants/trembyle/gpio.c b/src/mainboard/google/zork/variants/trembyle/gpio.c
index 9931479..4d73ea0 100644
--- a/src/mainboard/google/zork/variants/trembyle/gpio.c
+++ b/src/mainboard/google/zork/variants/trembyle/gpio.c
@@ -60,7 +60,7 @@
 	 * and so apply overrides. If board version is provided by the EC, then apply overrides
 	 * if version < 2.
 	 */
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		board_version = 1;
 
 	if (board_version <= 2) {
diff --git a/src/mainboard/google/zork/variants/vilboz/gpio.c b/src/mainboard/google/zork/variants/vilboz/gpio.c
index 12b303a..91ed61a 100644
--- a/src/mainboard/google/zork/variants/vilboz/gpio.c
+++ b/src/mainboard/google/zork/variants/vilboz/gpio.c
@@ -25,7 +25,7 @@
 	 * and so apply overrides. If board version is provided by the EC, then apply overrides
 	 * if version < 2.
 	 */
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		board_version = 1;
 
 	if (board_version < 2) {
diff --git a/src/mainboard/google/zork/variants/woomax/gpio.c b/src/mainboard/google/zork/variants/woomax/gpio.c
index ebbcbea..cb98df7 100644
--- a/src/mainboard/google/zork/variants/woomax/gpio.c
+++ b/src/mainboard/google/zork/variants/woomax/gpio.c
@@ -60,7 +60,7 @@
 	uint32_t board_version;
 
 	/* If board version cannot be read, assume it is board_version 0. */
-	if (google_chromeec_cbi_get_board_version(&board_version))
+	if (google_chromeec_cbi_get_board_version(&board_version) != 0)
 		board_version = 0;
 
 	if (board_version == 0) {
