diff --git a/src/lib/hardwaremain.c b/src/lib/hardwaremain.c
index 98b8841..493ff2d 100644
--- a/src/lib/hardwaremain.c
+++ b/src/lib/hardwaremain.c
@@ -32,7 +32,7 @@
 #include <reset.h>
 #include <boot/tables.h>
 #include <program_loading.h>
-#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)
+#if CONFIG(HAVE_ACPI_RESUME)
 #include <arch/acpi.h>
 #endif
 #include <timer.h>
@@ -81,7 +81,7 @@
 	boot_state_t (*run_state)(void *arg);
 	void *arg;
 	int complete : 1;
-#if IS_ENABLED(CONFIG_HAVE_MONOTONIC_TIMER)
+#if CONFIG(HAVE_MONOTONIC_TIMER)
 	struct boot_state_times times;
 #endif
 };
@@ -179,7 +179,7 @@
 
 static boot_state_t bs_os_resume_check(void *arg)
 {
-#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)
+#if CONFIG(HAVE_ACPI_RESUME)
 	void *wake_vector;
 
 	wake_vector = acpi_find_wakeup_vector();
@@ -198,7 +198,7 @@
 
 static boot_state_t bs_os_resume(void *wake_vector)
 {
-#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)
+#if CONFIG(HAVE_ACPI_RESUME)
 	arch_bootstate_coreboot_exit();
 	acpi_resume(wake_vector);
 #endif
@@ -238,7 +238,7 @@
 	return BS_PAYLOAD_BOOT;
 }
 
-#if IS_ENABLED(CONFIG_HAVE_MONOTONIC_TIMER)
+#if CONFIG(HAVE_MONOTONIC_TIMER)
 static void bs_sample_time(struct boot_state *state)
 {
 	struct mono_time *mt;
@@ -267,7 +267,7 @@
 static inline void bs_report_time(struct boot_state *state) {}
 #endif
 
-#if IS_ENABLED(CONFIG_TIMER_QUEUE)
+#if CONFIG(TIMER_QUEUE)
 static void bs_run_timers(int drain)
 {
 	/* Drain all timer callbacks until none are left, if directed.
@@ -295,7 +295,7 @@
 			phase->callbacks = bscb->next;
 			bscb->next = NULL;
 
-#if IS_ENABLED(CONFIG_DEBUG_BOOT_STATE)
+#if CONFIG(DEBUG_BOOT_STATE)
 			printk(BIOS_DEBUG, "BS: callback (%p) @ %s.\n",
 				bscb, bscb->location);
 #endif
@@ -339,7 +339,7 @@
 			break;
 		}
 
-		if (IS_ENABLED(CONFIG_DEBUG_BOOT_STATE))
+		if (CONFIG(DEBUG_BOOT_STATE))
 			printk(BIOS_DEBUG, "BS: Entering %s state.\n",
 				state->name);
 
@@ -359,7 +359,7 @@
 
 		next_id = state->run_state(state->arg);
 
-		if (IS_ENABLED(CONFIG_DEBUG_BOOT_STATE))
+		if (CONFIG(DEBUG_BOOT_STATE))
 			printk(BIOS_DEBUG, "BS: Exiting %s state.\n",
 			state->name);
 
@@ -367,7 +367,7 @@
 
 		bs_call_callbacks(state, current_phase.seq);
 
-		if (IS_ENABLED(CONFIG_DEBUG_BOOT_STATE))
+		if (CONFIG(DEBUG_BOOT_STATE))
 			printk(BIOS_DEBUG,
 				"----------------------------------------\n");
 
@@ -448,7 +448,7 @@
 
 	/* TODO: Understand why this is here and move to arch/platform code. */
 	/* For MMIO UART this needs to be called before any other printk. */
-	if (IS_ENABLED(CONFIG_ARCH_X86))
+	if (CONFIG(ARCH_X86))
 		init_timer();
 
 	/* console_init() MUST PRECEDE ALL printk()! Additionally, ensure
@@ -470,7 +470,7 @@
 	post_code(POST_ENTRY_RAMSTAGE);
 
 	/* Handoff sleep type from romstage. */
-#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)
+#if CONFIG(HAVE_ACPI_RESUME)
 	acpi_is_wakeup();
 #endif
 
