treewide: Convert macro and uses of __section(foo) to __section("foo")
[platform/kernel/u-boot.git] / include / linux / printk.h
1 #ifndef __KERNEL_PRINTK__
2 #define __KERNEL_PRINTK__
3
4 #include <log.h>
5 #include <stdio.h>
6 #include <linux/compiler.h>
7
8 #define KERN_EMERG
9 #define KERN_ALERT
10 #define KERN_CRIT
11 #define KERN_ERR
12 #define KERN_WARNING
13 #define KERN_NOTICE
14 #define KERN_INFO
15 #define KERN_DEBUG
16 #define KERN_CONT
17
18 #define printk(fmt, ...) \
19         printf(fmt, ##__VA_ARGS__)
20
21 /*
22  * Dummy printk for disabled debugging statements to use whilst maintaining
23  * gcc's format checking.
24  */
25 #define no_printk(fmt, ...)                             \
26 ({                                                      \
27         if (0)                                          \
28                 printk(fmt, ##__VA_ARGS__);             \
29         0;                                              \
30 })
31
32 #ifndef pr_fmt
33 #define pr_fmt(fmt) fmt
34 #endif
35
36 #define pr_emerg(fmt, ...)                                              \
37 ({                                                                      \
38         CONFIG_LOGLEVEL > 0 ? log_emerg(fmt, ##__VA_ARGS__) : 0;        \
39 })
40 #define pr_alert(fmt, ...)                                              \
41 ({                                                                      \
42         CONFIG_LOGLEVEL > 1 ? log_alert(fmt, ##__VA_ARGS__) : 0;        \
43 })
44 #define pr_crit(fmt, ...)                                               \
45 ({                                                                      \
46         CONFIG_LOGLEVEL > 2 ? log_crit(fmt, ##__VA_ARGS__) : 0;         \
47 })
48 #define pr_err(fmt, ...)                                                \
49 ({                                                                      \
50         CONFIG_LOGLEVEL > 3 ? log_err(fmt, ##__VA_ARGS__) : 0;          \
51 })
52 #define pr_warn(fmt, ...)                                               \
53 ({                                                                      \
54         CONFIG_LOGLEVEL > 4 ? log_warning(fmt, ##__VA_ARGS__) : 0;      \
55 })
56 #define pr_notice(fmt, ...)                                             \
57 ({                                                                      \
58         CONFIG_LOGLEVEL > 5 ? log_notice(fmt, ##__VA_ARGS__) : 0;       \
59 })
60 #define pr_info(fmt, ...)                                               \
61 ({                                                                      \
62         CONFIG_LOGLEVEL > 6 ? log_info(fmt, ##__VA_ARGS__) : 0;         \
63 })
64 #define pr_debug(fmt, ...)                                              \
65 ({                                                                      \
66         CONFIG_LOGLEVEL > 7 ? log_debug(fmt, ##__VA_ARGS__) : 0;        \
67 })
68 #define pr_devel(fmt, ...)                                              \
69 ({                                                                      \
70         CONFIG_LOGLEVEL > 7 ? log_debug(fmt, ##__VA_ARGS__) : 0;        \
71 })
72
73 #ifdef CONFIG_LOG
74 #define pr_cont(fmt, ...)                                               \
75 ({                                                                      \
76         gd->logl_prev < CONFIG_LOGLEVEL ?                               \
77                 log_cont(fmt, ##__VA_ARGS__) : 0;                       \
78 })
79 #else
80 #define pr_cont(fmt, ...)                                               \
81         printk(fmt, ##__VA_ARGS__)
82 #endif
83
84 #define printk_once(fmt, ...) \
85         printk(fmt, ##__VA_ARGS__)
86
87 #endif