0001
0002
0003
0004
0005
0006
0007
0008 #ifndef _ZD_DEF_H
0009 #define _ZD_DEF_H
0010
0011 #include <linux/kernel.h>
0012 #include <linux/stringify.h>
0013 #include <linux/device.h>
0014
0015 typedef u16 __nocast zd_addr_t;
0016
0017 #define dev_printk_f(level, dev, fmt, args...) \
0018 dev_printk(level, dev, "%s() " fmt, __func__, ##args)
0019
0020 #ifdef DEBUG
0021 # define dev_dbg_f(dev, fmt, args...) \
0022 dev_printk_f(KERN_DEBUG, dev, fmt, ## args)
0023 # define dev_dbg_f_limit(dev, fmt, args...) do { \
0024 if (net_ratelimit()) \
0025 dev_printk_f(KERN_DEBUG, dev, fmt, ## args); \
0026 } while (0)
0027 # define dev_dbg_f_cond(dev, cond, fmt, args...) ({ \
0028 bool __cond = !!(cond); \
0029 if (unlikely(__cond)) \
0030 dev_printk_f(KERN_DEBUG, dev, fmt, ## args); \
0031 })
0032 #else
0033 # define dev_dbg_f(dev, fmt, args...) do { (void)(dev); } while (0)
0034 # define dev_dbg_f_limit(dev, fmt, args...) do { (void)(dev); } while (0)
0035 # define dev_dbg_f_cond(dev, cond, fmt, args...) do { (void)(dev); } while (0)
0036 #endif
0037
0038 #ifdef DEBUG
0039 # define ZD_ASSERT(x) \
0040 do { \
0041 if (unlikely(!(x))) { \
0042 pr_debug("%s:%d ASSERT %s VIOLATED!\n", \
0043 __FILE__, __LINE__, __stringify(x)); \
0044 dump_stack(); \
0045 } \
0046 } while (0)
0047 #else
0048 # define ZD_ASSERT(x) do { } while (0)
0049 #endif
0050
0051 #ifdef DEBUG
0052 # define ZD_MEMCLEAR(pointer, size) memset((pointer), 0xff, (size))
0053 #else
0054 # define ZD_MEMCLEAR(pointer, size) do { } while (0)
0055 #endif
0056
0057 #endif