console: Refactor printk() varargs prototypes

Change-Id: I816641c2223c3079ad9c95c1380d4b250898ef93
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/31491
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
diff --git a/src/console/printk.c b/src/console/printk.c
index 735876e..0a9d3bf 100644
--- a/src/console/printk.c
+++ b/src/console/printk.c
@@ -39,9 +39,8 @@
 	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 @@
 	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 @@
 	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 7ab61ea..33fe2df 100644
--- a/src/include/console/console.h
+++ b/src/include/console/console.h
@@ -19,6 +19,7 @@
 #include <stdint.h>
 #include <arch/cpu.h>
 #include <console/post_codes.h>
+#include <console/vtxprintf.h>
 #include <commonlib/loglevel.h>
 
 #define RAM_DEBUG (IS_ENABLED(CONFIG_DEBUG_RAM_SETUP) ? BIOS_DEBUG : BIOS_NEVER)
@@ -56,8 +57,6 @@
 #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 do_putchar(unsigned char byte) {}
 #endif
 
-#if IS_ENABLED(CONFIG_VBOOT)
-/* FIXME: Collision of varargs with AMD headers without guard. */
-#include <console/vtxprintf.h>
-#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 00bbae6..8c3ba80 100644
--- a/src/security/vboot/vboot_logic.c
+++ b/src/security/vboot/vboot_logic.c
@@ -48,7 +48,7 @@
 		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;