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 <[email protected]>
Acked-by: Chris Metcalf <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Joe Perches 2014-12-10 15:45:53 -08:00 • committed by Linus Torvalds
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();
}