diff --git a/src/security/tpm/tspi/tspi.c b/src/security/tpm/tspi/tspi.c
index f1b72fb..aa2dc09 100644
--- a/src/security/tpm/tspi/tspi.c
+++ b/src/security/tpm/tspi/tspi.c
@@ -22,12 +22,12 @@
 #include <security/tpm/tss.h>
 #include <stdlib.h>
 #include <string.h>
-#if IS_ENABLED(CONFIG_VBOOT)
+#if CONFIG(VBOOT)
 #include <vb2_api.h>
 #include <assert.h>
 #endif
 
-#if IS_ENABLED(CONFIG_TPM1)
+#if CONFIG(TPM1)
 static uint32_t tpm1_invoke_state_machine(void)
 {
 	uint8_t disabled;
@@ -51,7 +51,7 @@
 		}
 	}
 
-	if (!!deactivated != IS_ENABLED(CONFIG_TPM_DEACTIVATE)) {
+	if (!!deactivated != CONFIG(TPM_DEACTIVATE)) {
 		printk(BIOS_INFO,
 		       "TPM: Unexpected TPM deactivated state. Toggling...\n");
 		result = tlcl_set_deactivated(!deactivated);
@@ -167,7 +167,7 @@
 		}
 	}
 
-#if IS_ENABLED(CONFIG_TPM1)
+#if CONFIG(TPM1)
 	result = tpm1_invoke_state_machine();
 #endif
 
@@ -185,7 +185,7 @@
 		return result;
 	}
 
-#if IS_ENABLED(CONFIG_TPM1)
+#if CONFIG(TPM1)
 	result = tlcl_set_enable();
 	if (result != TPM_SUCCESS) {
 		printk(BIOS_ERR, "TPM: Can't set enabled state.\n");
@@ -214,14 +214,14 @@
 	if (result != TPM_SUCCESS)
 		return result;
 
-	if (IS_ENABLED(CONFIG_VBOOT_MEASURED_BOOT))
+	if (CONFIG(VBOOT_MEASURED_BOOT))
 		tcpa_log_add_table_entry(name, pcr, digest_algo,
 			digest, digest_len);
 
 	return TPM_SUCCESS;
 }
 
-#if IS_ENABLED(CONFIG_VBOOT)
+#if CONFIG(VBOOT)
 uint32_t tpm_measure_region(const struct region_device *rdev, uint8_t pcr,
 			    const char *rname)
 {
@@ -239,7 +239,7 @@
 		printk(BIOS_ERR, "TPM: Can't initialize library.\n");
 		return result;
 	}
-	if (IS_ENABLED(CONFIG_TPM1)) {
+	if (CONFIG(TPM1)) {
 		hash_alg = VB2_HASH_SHA1;
 	} else { /* CONFIG_TPM2 */
 		hash_alg = VB2_HASH_SHA256;
