xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/zydas/zd1211rw/zd_def.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /* ZD1211 USB-WLAN driver for Linux
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Copyright (C) 2005-2007 Ulrich Kunitz <kune@deine-taler.de>
5*4882a593Smuzhiyun  * Copyright (C) 2006-2007 Daniel Drake <dsd@gentoo.org>
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef _ZD_DEF_H
9*4882a593Smuzhiyun #define _ZD_DEF_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #include <linux/kernel.h>
12*4882a593Smuzhiyun #include <linux/stringify.h>
13*4882a593Smuzhiyun #include <linux/device.h>
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun typedef u16 __nocast zd_addr_t;
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun #define dev_printk_f(level, dev, fmt, args...) \
18*4882a593Smuzhiyun 	dev_printk(level, dev, "%s() " fmt, __func__, ##args)
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun #ifdef DEBUG
21*4882a593Smuzhiyun #  define dev_dbg_f(dev, fmt, args...) \
22*4882a593Smuzhiyun 	  dev_printk_f(KERN_DEBUG, dev, fmt, ## args)
23*4882a593Smuzhiyun #  define dev_dbg_f_limit(dev, fmt, args...) do { \
24*4882a593Smuzhiyun 	if (net_ratelimit()) \
25*4882a593Smuzhiyun 		dev_printk_f(KERN_DEBUG, dev, fmt, ## args); \
26*4882a593Smuzhiyun } while (0)
27*4882a593Smuzhiyun #  define dev_dbg_f_cond(dev, cond, fmt, args...) ({ \
28*4882a593Smuzhiyun 	bool __cond = !!(cond); \
29*4882a593Smuzhiyun 	if (unlikely(__cond)) \
30*4882a593Smuzhiyun 		dev_printk_f(KERN_DEBUG, dev, fmt, ## args); \
31*4882a593Smuzhiyun })
32*4882a593Smuzhiyun #else
33*4882a593Smuzhiyun #  define dev_dbg_f(dev, fmt, args...) do { (void)(dev); } while (0)
34*4882a593Smuzhiyun #  define dev_dbg_f_limit(dev, fmt, args...) do { (void)(dev); } while (0)
35*4882a593Smuzhiyun #  define dev_dbg_f_cond(dev, cond, fmt, args...) do { (void)(dev); } while (0)
36*4882a593Smuzhiyun #endif /* DEBUG */
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #ifdef DEBUG
39*4882a593Smuzhiyun #  define ZD_ASSERT(x) \
40*4882a593Smuzhiyun do { \
41*4882a593Smuzhiyun 	if (unlikely(!(x))) { \
42*4882a593Smuzhiyun 		pr_debug("%s:%d ASSERT %s VIOLATED!\n", \
43*4882a593Smuzhiyun 			__FILE__, __LINE__, __stringify(x)); \
44*4882a593Smuzhiyun 		dump_stack(); \
45*4882a593Smuzhiyun 	} \
46*4882a593Smuzhiyun } while (0)
47*4882a593Smuzhiyun #else
48*4882a593Smuzhiyun #  define ZD_ASSERT(x) do { } while (0)
49*4882a593Smuzhiyun #endif
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun #ifdef DEBUG
52*4882a593Smuzhiyun #  define ZD_MEMCLEAR(pointer, size) memset((pointer), 0xff, (size))
53*4882a593Smuzhiyun #else
54*4882a593Smuzhiyun #  define ZD_MEMCLEAR(pointer, size) do { } while (0)
55*4882a593Smuzhiyun #endif
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun #endif /* _ZD_DEF_H */
58