1/* Public domain. */ 2 3#ifndef _LINUX_PRINTK_H 4#define _LINUX_PRINTK_H 5 6#include <sys/types.h> 7#include <sys/systm.h> 8#include <sys/stdarg.h> 9 10#include <linux/init.h> 11 12#define KERN_CRIT "\0012" 13#define KERN_ERR "\0013" 14#define KERN_WARNING "\0014" 15#define KERN_NOTICE "\0015" 16#define KERN_INFO "\0016" 17#define KERN_DEBUG "\0017" 18 19#define KERN_CONT "\001c" 20 21#ifndef pr_fmt 22#define pr_fmt(fmt) fmt 23#endif 24 25#define printk_once(fmt, arg...) ({ \ 26 static int __warned; \ 27 if (!__warned) { \ 28 printk(fmt, ## arg); \ 29 __warned = 1; \ 30 } \ 31}) 32 33#define printk_ratelimit() 1 34 35int printk(const char *fmt, ...); 36 37#define pr_warn(fmt, arg...) printk(KERN_WARNING pr_fmt(fmt), ## arg) 38#define pr_warn_ratelimited(fmt, arg...) printk(KERN_WARNING pr_fmt(fmt), ## arg) 39#define pr_warn_once(fmt, arg...) printk_once(KERN_WARNING pr_fmt(fmt), ## arg) 40#define pr_notice(fmt, arg...) printk(KERN_NOTICE pr_fmt(fmt), ## arg) 41#define pr_crit(fmt, arg...) printk(KERN_CRIT pr_fmt(fmt), ## arg) 42#define pr_err(fmt, arg...) printk(KERN_ERR pr_fmt(fmt), ## arg) 43#define pr_err_once(fmt, arg...) printk_once(KERN_ERR pr_fmt(fmt), ## arg) 44#define pr_cont(fmt, arg...) printk(KERN_CONT pr_fmt(fmt), ## arg) 45 46#ifdef DRMDEBUG 47#define pr_info(fmt, arg...) printk(KERN_INFO pr_fmt(fmt), ## arg) 48#define pr_info_ratelimited(fmt, arg...) printk(KERN_INFO pr_fmt(fmt), ## arg) 49#define pr_info_once(fmt, arg...) printk_once(KERN_INFO pr_fmt(fmt), ## arg) 50#define pr_debug(fmt, arg...) printk(KERN_DEBUG pr_fmt(fmt), ## arg) 51#else 52#define pr_info(fmt, arg...) do { } while(0) 53#define pr_info_ratelimited(fmt, arg...) do { } while(0) 54#define pr_info_once(fmt, arg...) do { } while(0) 55#define pr_debug(fmt, arg...) do { } while(0) 56#endif 57 58enum { 59 DUMP_PREFIX_NONE, 60 DUMP_PREFIX_ADDRESS, 61 DUMP_PREFIX_OFFSET 62}; 63 64void print_hex_dump(const char *, const char *, int, int, int, 65 const void *, size_t, bool); 66 67struct va_format { 68 const char *fmt; 69 va_list *va; 70}; 71 72static inline int 73_in_dbg_master(void) 74{ 75#ifdef DDB 76 return (db_active); 77#endif 78 return (0); 79} 80 81#define oops_in_progress _in_dbg_master() 82 83#endif 84