1/* ----------------------------------------------------------------------------- 2 * Copyright (c) 2011 Ozmo Inc 3 * Released under the GNU General Public License Version 2 (GPLv2). 4 * ---------------------------------------------------------------------------*/ 5 6#ifndef _OZDBG_H 7#define _OZDBG_H 8 9#define OZ_WANT_DBG 0 10#define OZ_WANT_VERBOSE_DBG 1 11 12#define OZ_DBG_ON 0x0 13#define OZ_DBG_STREAM 0x1 14#define OZ_DBG_URB 0x2 15#define OZ_DBG_CTRL_DETAIL 0x4 16#define OZ_DBG_HUB 0x8 17#define OZ_DBG_RX_FRAMES 0x10 18#define OZ_DBG_TX_FRAMES 0x20 19 20#define OZ_DEFAULT_DBG_MASK \ 21 ( \ 22 /* OZ_DBG_STREAM | */ \ 23 /* OZ_DBG_URB | */ \ 24 /* OZ_DBG_CTRL_DETAIL | */ \ 25 OZ_DBG_HUB | \ 26 /* OZ_DBG_RX_FRAMES | */ \ 27 /* OZ_DBG_TX_FRAMES | */ \ 28 0) 29 30extern unsigned int oz_dbg_mask; 31 32#define oz_want_dbg(mask) \ 33 ((OZ_WANT_DBG && (OZ_DBG_##mask == OZ_DBG_ON)) || \ 34 (OZ_WANT_VERBOSE_DBG && (OZ_DBG_##mask & oz_dbg_mask))) 35 36#define oz_dbg(mask, fmt, ...) \ 37do { \ 38 if (oz_want_dbg(mask)) \ 39 pr_debug(fmt, ##__VA_ARGS__); \ 40} while (0) 41 42#define oz_cdev_dbg(cdev, mask, fmt, ...) \ 43do { \ 44 if (oz_want_dbg(mask)) \ 45 netdev_dbg((cdev)->dev, fmt, ##__VA_ARGS__); \ 46} while (0) 47 48#define oz_pd_dbg(pd, mask, fmt, ...) \ 49do { \ 50 if (oz_want_dbg(mask)) \ 51 pr_debug(fmt, ##__VA_ARGS__); \ 52} while (0) 53 54#endif /* _OZDBG_H */ 55