summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/assert.h20
-rw-r--r--src/mainboard/google/gru/board.h10
2 files changed, 17 insertions, 13 deletions
diff --git a/src/include/assert.h b/src/include/assert.h
index afbed03318..6036635273 100644
--- a/src/include/assert.h
+++ b/src/include/assert.h
@@ -43,18 +43,22 @@
* will generate a compiler error even if the scope it was called from is dead
* code. This may be useful to double-check things like constants that are only
* valid if a certain Kconfig option is set.
+ *
+ * The error message when this hits will look like this:
+ *
+ * ramstage/lib/bootmode.o: In function `display_init_required':
+ * bootmode.c:42: undefined reference to `dead_code_assertion_failed_at_line_42'
*/
-#define __dead_code(message, line) do { \
- __attribute__((error(#message " in " __FILE__ ":" #line))) \
- extern void dead_code_assertion_failed_##line(void); \
- dead_code_assertion_failed_##line(); \
+#define __dead_code(line) do { \
+ extern void dead_code_assertion_failed_at_line_##line(void); \
+ dead_code_assertion_failed_at_line_##line(); \
} while (0)
-#define _dead_code(message, line) __dead_code(message, line)
-#define dead_code(message) _dead_code(message, __LINE__)
+#define _dead_code(line) __dead_code(line)
+#define dead_code() _dead_code(__LINE__)
/* This can be used in the context of an expression of type 'type'. */
-#define dead_code_t(type, message) ({ \
- dead_code(message); \
+#define dead_code_t(type) ({ \
+ dead_code(); \
*(type *)(uintptr_t)0; \
})
diff --git a/src/mainboard/google/gru/board.h b/src/mainboard/google/gru/board.h
index e9545de625..acf3fb99a3 100644
--- a/src/mainboard/google/gru/board.h
+++ b/src/mainboard/google/gru/board.h
@@ -29,16 +29,16 @@
#define GPIO_BACKLIGHT GPIO(4, C, 6)
#define GPIO_EC_IN_RW GPIO(0, A, 1)
#define GPIO_EC_IRQ GPIO(1, C, 2)
-#define GPIO_P15V_EN dead_code_t(gpio_t, "PP1500 doesn't exist on scarlet.")
-#define GPIO_P18V_AUDIO_PWREN dead_code_t(gpio_t, "doesn't exist on scarlet.")
+#define GPIO_P15V_EN dead_code_t(gpio_t)
+#define GPIO_P18V_AUDIO_PWREN dead_code_t(gpio_t)
#define GPIO_P30V_EN GPIO(0, B, 1)
#define GPIO_SPK_PA_EN GPIO(0, A, 2)
-#define GPIO_TP_RST_L dead_code_t(gpio_t, "don't need TP_RST_L on scarlet.")
+#define GPIO_TP_RST_L dead_code_t(gpio_t)
#define GPIO_TPM_IRQ GPIO(1, C, 1)
#define GPIO_WP GPIO(0, B, 5)
#else
#define GPIO_BL_EN GPIO(1, C, 1)
-#define GPIO_BACKLIGHT dead_code_t(gpio_t, "backlight controlled by ec")
+#define GPIO_BACKLIGHT dead_code_t(gpio_t)
#define GPIO_EC_IN_RW GPIO(3, B, 0)
#define GPIO_EC_IRQ GPIO(0, A, 1)
#define GPIO_P15V_EN GPIO(0, B, 2)
@@ -53,7 +53,7 @@
#if CONFIG(GRU_HAS_WLAN_RESET)
#define GPIO_WLAN_RST_L GPIO(1, B, 3)
#else
-#define GPIO_WLAN_RST_L dead_code_t(gpio_t, "no WLAN reset on this board in FW")
+#define GPIO_WLAN_RST_L dead_code_t(gpio_t)
#endif
void setup_chromeos_gpios(void);