printk: Make it compile with !CONFIG_PRINTK
Commit 3ccf3e8306
("printk/sched: Introduce special
printk_sched() for those awkward moments") overlooked
an #ifdef, so move code around to respect these directives.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Link: http://lkml.kernel.org/r/1331811337.18960.179.camel@twins
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
9993bc635d
commit
600e145882
|
@ -1222,26 +1222,6 @@ int is_console_locked(void)
|
||||||
static DEFINE_PER_CPU(int, printk_pending);
|
static DEFINE_PER_CPU(int, printk_pending);
|
||||||
static DEFINE_PER_CPU(char [PRINTK_BUF_SIZE], printk_sched_buf);
|
static DEFINE_PER_CPU(char [PRINTK_BUF_SIZE], printk_sched_buf);
|
||||||
|
|
||||||
int printk_sched(const char *fmt, ...)
|
|
||||||
{
|
|
||||||
unsigned long flags;
|
|
||||||
va_list args;
|
|
||||||
char *buf;
|
|
||||||
int r;
|
|
||||||
|
|
||||||
local_irq_save(flags);
|
|
||||||
buf = __get_cpu_var(printk_sched_buf);
|
|
||||||
|
|
||||||
va_start(args, fmt);
|
|
||||||
r = vsnprintf(buf, PRINTK_BUF_SIZE, fmt, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
__this_cpu_or(printk_pending, PRINTK_PENDING_SCHED);
|
|
||||||
local_irq_restore(flags);
|
|
||||||
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
void printk_tick(void)
|
void printk_tick(void)
|
||||||
{
|
{
|
||||||
if (__this_cpu_read(printk_pending)) {
|
if (__this_cpu_read(printk_pending)) {
|
||||||
|
@ -1658,6 +1638,26 @@ late_initcall(printk_late_init);
|
||||||
|
|
||||||
#if defined CONFIG_PRINTK
|
#if defined CONFIG_PRINTK
|
||||||
|
|
||||||
|
int printk_sched(const char *fmt, ...)
|
||||||
|
{
|
||||||
|
unsigned long flags;
|
||||||
|
va_list args;
|
||||||
|
char *buf;
|
||||||
|
int r;
|
||||||
|
|
||||||
|
local_irq_save(flags);
|
||||||
|
buf = __get_cpu_var(printk_sched_buf);
|
||||||
|
|
||||||
|
va_start(args, fmt);
|
||||||
|
r = vsnprintf(buf, PRINTK_BUF_SIZE, fmt, args);
|
||||||
|
va_end(args);
|
||||||
|
|
||||||
|
__this_cpu_or(printk_pending, PRINTK_PENDING_SCHED);
|
||||||
|
local_irq_restore(flags);
|
||||||
|
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* printk rate limiting, lifted from the networking subsystem.
|
* printk rate limiting, lifted from the networking subsystem.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue