From 7132f259bf83f1118893550c0bc914c11081ea84 Mon Sep 17 00:00:00 2001 From: Kyösti Mälkki Date: Thu, 14 Feb 2019 23:08:29 +0200 Subject: console: Refactor printk() varargs prototypes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I816641c2223c3079ad9c95c1380d4b250898ef93 Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/31491 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- src/console/printk.c | 21 ++++++++++----------- src/include/console/console.h | 16 +++++----------- src/security/vboot/vboot_logic.c | 2 +- 3 files changed, 16 insertions(+), 23 deletions(-) diff --git a/src/console/printk.c b/src/console/printk.c index 735876ee5a..0a9d3bf8ae 100644 --- a/src/console/printk.c +++ b/src/console/printk.c @@ -39,9 +39,8 @@ static void wrap_putchar(unsigned char byte, void *data) do_putchar(byte); } -int do_printk(int msg_level, const char *fmt, ...) +int vprintk(int msg_level, const char *fmt, va_list args) { - va_list args; int i; if (IS_ENABLED(CONFIG_SQUELCH_EARLY_SMP) && ENV_CACHE_AS_RAM && @@ -60,9 +59,7 @@ int do_printk(int msg_level, const char *fmt, ...) spin_lock(&console_lock); #endif - va_start(args, fmt); i = vtxprintf(wrap_putchar, fmt, args, NULL); - va_end(args); console_tx_flush(); @@ -78,12 +75,14 @@ int do_printk(int msg_level, const char *fmt, ...) return i; } -#if IS_ENABLED(CONFIG_VBOOT) -void do_printk_va_list(int msg_level, const char *fmt, va_list args) +int do_printk(int msg_level, const char *fmt, ...) { - if (!console_log_level(msg_level)) - return; - vtxprintf(wrap_putchar, fmt, args, NULL); - console_tx_flush(); + va_list args; + int i; + + va_start(args, fmt); + i = vprintk(msg_level, fmt, args); + va_end(args); + + return i; } -#endif /* CONFIG_VBOOT */ diff --git a/src/include/console/console.h b/src/include/console/console.h index 7ab61ea495..33fe2dfd17 100644 --- a/src/include/console/console.h +++ b/src/include/console/console.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #define RAM_DEBUG (IS_ENABLED(CONFIG_DEBUG_RAM_SETUP) ? BIOS_DEBUG : BIOS_NEVER) @@ -56,8 +57,6 @@ void die_notify(void); #if __CONSOLE_ENABLE__ asmlinkage void console_init(void); int console_log_level(int msg_level); -int do_printk(int msg_level, const char *fmt, ...) - __attribute__((format(printf, 2, 3))); void do_putchar(unsigned char byte); #define printk(LEVEL, fmt, args...) \ @@ -82,15 +81,10 @@ static inline void printk(int LEVEL, const char *fmt, ...) {} static inline void do_putchar(unsigned char byte) {} #endif -#if IS_ENABLED(CONFIG_VBOOT) -/* FIXME: Collision of varargs with AMD headers without guard. */ -#include -#if __CONSOLE_ENABLE__ -void do_printk_va_list(int msg_level, const char *fmt, va_list args); -#else -static inline void do_printk_va_list(int l, const char *fmt, va_list args) {} -#endif -#endif +int vprintk(int msg_level, const char *fmt, va_list args); + +int do_printk(int msg_level, const char *fmt, ...) + __attribute__((format(printf, 2, 3))); #endif /* !__ROMCC__ */ diff --git a/src/security/vboot/vboot_logic.c b/src/security/vboot/vboot_logic.c index 00bbae6204..8c3ba80da0 100644 --- a/src/security/vboot/vboot_logic.c +++ b/src/security/vboot/vboot_logic.c @@ -48,7 +48,7 @@ void vb2ex_printf(const char *func, const char *fmt, ...) printk(BIOS_INFO, "VB2:%s() ", func); va_start(args, fmt); - do_printk_va_list(BIOS_INFO, fmt, args); + vprintk(BIOS_INFO, fmt, args); va_end(args); return; -- cgit v1.2.3