summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-02-14 23:08:29 +0200
committerPatrick Georgi <pgeorgi@google.com>2019-02-27 11:09:31 +0000
commit7132f259bf83f1118893550c0bc914c11081ea84 (patch)
tree1e96bae72bccf6e3d8edc82c36343891fecf07b5
parent40f65425e4635de03b6e3114598a5e455fcd6ff8 (diff)
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>
-rw-r--r--src/console/printk.c21
-rw-r--r--src/include/console/console.h16
-rw-r--r--src/security/vboot/vboot_logic.c2
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 <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 @@ 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 <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 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;