printk: remove used-once early_vprintk

Eliminate the unlikely possibility of message interleaving for
early_printk/early_vprintk use.

early_vprintk can be done via the %pV extension so remove this
unnecessary function and change early_printk to have the equivalent
vprintk code.

All uses of early_printk already end with a newline so also remove the
unnecessary newline from the early_printk function.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Joe Perches
2014-12-10 15:45:53 -08:00
committed by Linus Torvalds
parent 9e3961a097
commit 1dc6244bd6
3 changed files with 21 additions and 18 deletions

View File

@@ -43,13 +43,20 @@ static struct console early_hv_console = {
void early_panic(const char *fmt, ...)
{
va_list ap;
struct va_format vaf;
va_list args;
arch_local_irq_disable_all();
va_start(ap, fmt);
early_printk("Kernel panic - not syncing: ");
early_vprintk(fmt, ap);
early_printk("\n");
va_end(ap);
va_start(args, fmt);
vaf.fmt = fmt;
vaf.va = &args;
early_printk("Kernel panic - not syncing: %pV", &vaf);
va_end(args);
dump_stack();
hv_halt();
}