console_get_first_active() is unconditionally called in startup.c to check if the boot countdown can be skipped. The function is not defined for CONFIG_CONSOLE_NONE however. Provide a stub in that case, so the code can be compiled again. This changes behavior: Configured countdown for systems without consoles will be ignored and the system will boot directly. This is deemed acceptable as it aligns behavior with systems with consoles that are exclusively non-interactive and on the off-chance that a board requires delays, it can always add a late init call delaying the boot. Fixes: 66232c0ca70f ("startup: don't skip countdown if consoles were runtime enabled") Reported-by: Steffen Hemer <S.Hemer@xxxxxxxxx> Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- include/console.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/include/console.h b/include/console.h index b8c901801e9f..018d47f69ef7 100644 --- a/include/console.h +++ b/include/console.h @@ -101,8 +101,6 @@ extern struct list_head console_list; extern int barebox_loglevel; -struct console_device *console_get_first_active(void); - int console_open(struct console_device *cdev); int console_close(struct console_device *cdev); int console_set_active(struct console_device *cdev, unsigned active); @@ -201,6 +199,15 @@ static inline void pbl_set_putc(void (*putcf)(void *ctx, int c), void *ctx) {} bool console_allow_color(void); +#ifndef CONFIG_CONSOLE_NONE +struct console_device *console_get_first_active(void); +#else +static inline struct console_device *console_get_first_active(void) +{ + return NULL; +} +#endif + #ifdef CONFIG_CONSOLE_FULL void console_ctrlc_allow(void); void console_ctrlc_forbid(void); -- 2.39.2