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 88