mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
Add 'pr_fmt()' format modifier to pr_xyz macros.
A common reason for device drivers to implement their own printk macros is the lack of a printk prefix with the standard pr_xyz macros. Introduce a pr_fmt() macro that is applied for every pr_xyz macro to the format string. The most common use of the pr_fmt macro would be to add the name of the device driver to all pr_xyz messages in a source file. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4d41e12166
commit
d091c2f58b
@ -318,32 +318,36 @@ static inline char *pack_hex_byte(char *buf, u8 byte)
|
||||
return buf;
|
||||
}
|
||||
|
||||
#define pr_emerg(fmt, arg...) \
|
||||
printk(KERN_EMERG fmt, ##arg)
|
||||
#define pr_alert(fmt, arg...) \
|
||||
printk(KERN_ALERT fmt, ##arg)
|
||||
#define pr_crit(fmt, arg...) \
|
||||
printk(KERN_CRIT fmt, ##arg)
|
||||
#define pr_err(fmt, arg...) \
|
||||
printk(KERN_ERR fmt, ##arg)
|
||||
#define pr_warning(fmt, arg...) \
|
||||
printk(KERN_WARNING fmt, ##arg)
|
||||
#define pr_notice(fmt, arg...) \
|
||||
printk(KERN_NOTICE fmt, ##arg)
|
||||
#define pr_info(fmt, arg...) \
|
||||
printk(KERN_INFO fmt, ##arg)
|
||||
#ifndef pr_fmt
|
||||
#define pr_fmt(fmt) fmt
|
||||
#endif
|
||||
|
||||
#define pr_emerg(fmt, ...) \
|
||||
printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)
|
||||
#define pr_alert(fmt, ...) \
|
||||
printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
|
||||
#define pr_crit(fmt, ...) \
|
||||
printk(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__)
|
||||
#define pr_err(fmt, ...) \
|
||||
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
|
||||
#define pr_warning(fmt, ...) \
|
||||
printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
|
||||
#define pr_notice(fmt, ...) \
|
||||
printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__)
|
||||
#define pr_info(fmt, ...) \
|
||||
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
|
||||
|
||||
/* If you are writing a driver, please use dev_dbg instead */
|
||||
#if defined(CONFIG_DYNAMIC_PRINTK_DEBUG)
|
||||
#define pr_debug(fmt, ...) do { \
|
||||
dynamic_pr_debug(fmt, ##__VA_ARGS__); \
|
||||
dynamic_pr_debug(pr_fmt(fmt), ##__VA_ARGS__); \
|
||||
} while (0)
|
||||
#elif defined(DEBUG)
|
||||
#define pr_debug(fmt, arg...) \
|
||||
printk(KERN_DEBUG fmt, ##arg)
|
||||
#define pr_debug(fmt, ...) \
|
||||
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
|
||||
#else
|
||||
#define pr_debug(fmt, arg...) \
|
||||
({ if (0) printk(KERN_DEBUG fmt, ##arg); 0; })
|
||||
#define pr_debug(fmt, ...) \
|
||||
({ if (0) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); 0; })
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user