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