[PATCH master 2/4] console: add for_each_console stub
Ahmad Fatoum
a.fatoum at pengutronix.de
Sun Nov 19 23:21:20 PST 2023
With CONFIG_CONSOLE_NONE, we have no consoles and no console_list, but
the unconditional for_each_console in the bootm earlycon code references
console_list leading to a linker error.
Let's define for_each_console as a no-op to fix this.
Fixes: d17f29dba030 ("console: add new $global.bootm.earlycon parameter")
Reported-by: Steffen Hemer <S.Hemer at phytec.de>
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
include/console.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/include/console.h b/include/console.h
index 018d47f69ef7..b400b6bf49ec 100644
--- a/include/console.h
+++ b/include/console.h
@@ -94,9 +94,6 @@ struct console_device *console_get_by_dev(struct device *dev);
struct console_device *console_get_by_name(const char *name);
struct console_device *of_console_get_by_alias(const char *alias);
-extern struct list_head console_list;
-#define for_each_console(console) list_for_each_entry(console, &console_list, list)
-
#define CFG_PBSIZE (CONFIG_CBSIZE+sizeof(CONFIG_PROMPT)+16)
extern int barebox_loglevel;
@@ -200,8 +197,13 @@ static inline void pbl_set_putc(void (*putcf)(void *ctx, int c), void *ctx) {}
bool console_allow_color(void);
#ifndef CONFIG_CONSOLE_NONE
+extern struct list_head console_list;
+#define for_each_console(console) list_for_each_entry(console, &console_list, list)
+
struct console_device *console_get_first_active(void);
#else
+#define for_each_console(console) while (((void)console, 0))
+
static inline struct console_device *console_get_first_active(void)
{
return NULL;
--
2.39.2
More information about the barebox
mailing list