提交 6ec42a56 编写于 作者: J Joe Perches 提交者: Linus Torvalds

include/linux/printk.h: organize printk_ratelimited macros

- Use no_printk for !CONFIG_PRINTK printk_ratelimited.

- Whitespace cleanup.
Signed-off-by: NJoe Perches <joe@perches.com>
Cc: Matt Mackall <mpm@selenic.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 ac83ed68
...@@ -234,7 +234,8 @@ extern void dump_stack(void) __cold; ...@@ -234,7 +234,8 @@ extern void dump_stack(void) __cold;
* no local ratelimit_state used in the !PRINTK case * no local ratelimit_state used in the !PRINTK case
*/ */
#ifdef CONFIG_PRINTK #ifdef CONFIG_PRINTK
#define printk_ratelimited(fmt, ...) ({ \ #define printk_ratelimited(fmt, ...) \
({ \
static DEFINE_RATELIMIT_STATE(_rs, \ static DEFINE_RATELIMIT_STATE(_rs, \
DEFAULT_RATELIMIT_INTERVAL, \ DEFAULT_RATELIMIT_INTERVAL, \
DEFAULT_RATELIMIT_BURST); \ DEFAULT_RATELIMIT_BURST); \
...@@ -243,36 +244,34 @@ extern void dump_stack(void) __cold; ...@@ -243,36 +244,34 @@ extern void dump_stack(void) __cold;
printk(fmt, ##__VA_ARGS__); \ printk(fmt, ##__VA_ARGS__); \
}) })
#else #else
/* No effect, but we still get type checking even in the !PRINTK case: */ #define printk_ratelimited(fmt, ...) \
#define printk_ratelimited printk no_printk(fmt, ##__VA_ARGS__)
#endif #endif
#define pr_emerg_ratelimited(fmt, ...) \ #define pr_emerg_ratelimited(fmt, ...) \
printk_ratelimited(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) printk_ratelimited(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)
#define pr_alert_ratelimited(fmt, ...) \ #define pr_alert_ratelimited(fmt, ...) \
printk_ratelimited(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__) printk_ratelimited(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
#define pr_crit_ratelimited(fmt, ...) \ #define pr_crit_ratelimited(fmt, ...) \
printk_ratelimited(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__) printk_ratelimited(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__)
#define pr_err_ratelimited(fmt, ...) \ #define pr_err_ratelimited(fmt, ...) \
printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
#define pr_warning_ratelimited(fmt, ...) \ #define pr_warn_ratelimited(fmt, ...) \
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
#define pr_warn_ratelimited pr_warning_ratelimited #define pr_notice_ratelimited(fmt, ...) \
#define pr_notice_ratelimited(fmt, ...) \
printk_ratelimited(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__) printk_ratelimited(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__)
#define pr_info_ratelimited(fmt, ...) \ #define pr_info_ratelimited(fmt, ...) \
printk_ratelimited(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) printk_ratelimited(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
/* no pr_cont_ratelimited, don't do that... */ /* no pr_cont_ratelimited, don't do that... */
/* If you are writing a driver, please use dev_dbg instead */ /* If you are writing a driver, please use dev_dbg instead */
#if defined(DEBUG) #if defined(DEBUG)
#define pr_debug_ratelimited(fmt, ...) \ #define pr_debug_ratelimited(fmt, ...) \
printk_ratelimited(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) printk_ratelimited(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#else #else
#define pr_debug_ratelimited(fmt, ...) \ #define pr_debug_ratelimited(fmt, ...) \
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#endif #endif
enum { enum {
DUMP_PREFIX_NONE, DUMP_PREFIX_NONE,
DUMP_PREFIX_ADDRESS, DUMP_PREFIX_ADDRESS,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册