powerpc/udbg: Make it safe to call udbg_printf() always
authorMichael Ellerman <mpe@ellerman.id.au>
Fri, 11 Oct 2019 08:30:39 +0000 (19:30 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 11 Oct 2019 08:33:25 +0000 (19:33 +1100)
Make udbg_printf() check if udbg_putc is set, and if not just return.
This makes it safe to call udbg_printf() anytime, even when a udbg
backend has not been registered, which means we can avoid some ifdefs
at call sites.

Signed-off-by: Qian Cai <cai@lca.pw>
[mpe: Split out of larger patch, write change log]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/udbg.c

index a384e7c..01595e8 100644 (file)
@@ -120,13 +120,15 @@ int udbg_write(const char *s, int n)
 #define UDBG_BUFSIZE 256
 void udbg_printf(const char *fmt, ...)
 {
-       char buf[UDBG_BUFSIZE];
-       va_list args;
+       if (udbg_putc) {
+               char buf[UDBG_BUFSIZE];
+               va_list args;
 
-       va_start(args, fmt);
-       vsnprintf(buf, UDBG_BUFSIZE, fmt, args);
-       udbg_puts(buf);
-       va_end(args);
+               va_start(args, fmt);
+               vsnprintf(buf, UDBG_BUFSIZE, fmt, args);
+               udbg_puts(buf);
+               va_end(args);
+       }
 }
 
 void __init udbg_progress(char *s, unsigned short hex)