• Frederic Weisbecker's avatar
    printk: Provide a wake_up_klogd() off-case · dc72c32e
    Frederic Weisbecker authored
    wake_up_klogd() is useless when CONFIG_PRINTK=n because neither printk()
    nor printk_sched() are in use and there are actually no waiter on
    log_wait waitqueue.  It should be a stub in this case for users like
    bust_spinlocks().
    
    Otherwise this results in this warning when CONFIG_PRINTK=n and
    CONFIG_IRQ_WORK=n:
    
    	kernel/built-in.o In function `wake_up_klogd':
    	(.text.wake_up_klogd+0xb4): undefined reference to `irq_work_queue'
    
    To fix this, provide an off-case for wake_up_klogd() when
    CONFIG_PRINTK=n.
    
    There is much more from console_unlock() and other console related code
    in printk.c that should be moved under CONFIG_PRINTK.  But for now,
    focus on a minimal fix as we passed the merged window already.
    
    [akpm@linux-foundation.org: include printk.h in bust_spinlocks.c]
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Reported-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    dc72c32e
bust_spinlocks.c 660 Bytes