printk: introduce printk_once()
authorIngo Molnar <mingo@elte.hu>
Thu, 5 Feb 2009 12:45:43 +0000 (13:45 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 5 Feb 2009 12:52:29 +0000 (13:52 +0100)
commitf036be96dd9ce442ffb9ab33e3c165f5178815c0
treec60c39f895bb93ac0000de7772e89a0b6663954b
parenteda58a85ec3fc05855a26654d97a2b53f0e715b9
printk: introduce printk_once()

This pattern shows up frequently in the kernel:

  static int once = 1;
  ...

if (once) {
once = 0;
printk(KERN_ERR "message\n");
}
  ...

So add a printk_once() helper macro that reduces this to a single line
of:

printk_once(KERN_ERR "message\n");

It works analogously to WARN_ONCE() & friends. (We use a macro not
an inline because vararg expansion in inlines looks awkward and the
macro is simple enough.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/kernel.h