1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21#ifndef _ZD_DEF_H
22#define _ZD_DEF_H
23
24#include <linux/kernel.h>
25#include <linux/stringify.h>
26#include <linux/device.h>
27
28typedef u16 __nocast zd_addr_t;
29
30#define dev_printk_f(level, dev, fmt, args...) \
31 dev_printk(level, dev, "%s() " fmt, __func__, ##args)
32
33#ifdef DEBUG
34# define dev_dbg_f(dev, fmt, args...) \
35 dev_printk_f(KERN_DEBUG, dev, fmt, ## args)
36# define dev_dbg_f_limit(dev, fmt, args...) do { \
37 if (net_ratelimit()) \
38 dev_printk_f(KERN_DEBUG, dev, fmt, ## args); \
39} while (0)
40#else
41# define dev_dbg_f(dev, fmt, args...) do { (void)(dev); } while (0)
42# define dev_dbg_f_limit(dev, fmt, args...) do { (void)(dev); } while (0)
43#endif
44
45#ifdef DEBUG
46# define ZD_ASSERT(x) \
47do { \
48 if (!(x)) { \
49 pr_debug("%s:%d ASSERT %s VIOLATED!\n", \
50 __FILE__, __LINE__, __stringify(x)); \
51 dump_stack(); \
52 } \
53} while (0)
54#else
55# define ZD_ASSERT(x) do { } while (0)
56#endif
57
58#ifdef DEBUG
59# define ZD_MEMCLEAR(pointer, size) memset((pointer), 0xff, (size))
60#else
61# define ZD_MEMCLEAR(pointer, size) do { } while (0)
62#endif
63
64#endif
65