Steve deRosier | e9bd5bc | 2010-04-25 14:40:46 -0700 | [diff] [blame] | 1 | /** |
| 2 | * This header file contains global constant/enum definitions, |
| 3 | * global variable declaration. |
| 4 | */ |
| 5 | #ifndef _LBS_DEB_DEFS_H_ |
| 6 | #define _LBS_DEB_EFS_H_ |
| 7 | |
| 8 | #ifndef DRV_NAME |
| 9 | #define DRV_NAME "libertas_tf" |
| 10 | #endif |
| 11 | |
Steve deRosier | e9bd5bc | 2010-04-25 14:40:46 -0700 | [diff] [blame] | 12 | #include <linux/spinlock.h> |
| 13 | |
| 14 | #ifdef CONFIG_LIBERTAS_THINFIRM_DEBUG |
| 15 | #define DEBUG |
| 16 | #define PROC_DEBUG |
| 17 | #endif |
| 18 | |
| 19 | #define LBTF_DEB_ENTER 0x00000001 |
| 20 | #define LBTF_DEB_LEAVE 0x00000002 |
| 21 | #define LBTF_DEB_MAIN 0x00000004 |
| 22 | #define LBTF_DEB_NET 0x00000008 |
| 23 | #define LBTF_DEB_MESH 0x00000010 |
| 24 | #define LBTF_DEB_WEXT 0x00000020 |
| 25 | #define LBTF_DEB_IOCTL 0x00000040 |
| 26 | #define LBTF_DEB_SCAN 0x00000080 |
| 27 | #define LBTF_DEB_ASSOC 0x00000100 |
| 28 | #define LBTF_DEB_JOIN 0x00000200 |
| 29 | #define LBTF_DEB_11D 0x00000400 |
| 30 | #define LBTF_DEB_DEBUGFS 0x00000800 |
| 31 | #define LBTF_DEB_ETHTOOL 0x00001000 |
| 32 | #define LBTF_DEB_HOST 0x00002000 |
| 33 | #define LBTF_DEB_CMD 0x00004000 |
| 34 | #define LBTF_DEB_RX 0x00008000 |
| 35 | #define LBTF_DEB_TX 0x00010000 |
| 36 | #define LBTF_DEB_USB 0x00020000 |
| 37 | #define LBTF_DEB_CS 0x00040000 |
| 38 | #define LBTF_DEB_FW 0x00080000 |
| 39 | #define LBTF_DEB_THREAD 0x00100000 |
| 40 | #define LBTF_DEB_HEX 0x00200000 |
| 41 | #define LBTF_DEB_SDIO 0x00400000 |
| 42 | #define LBTF_DEB_MACOPS 0x00800000 |
| 43 | |
| 44 | extern unsigned int lbtf_debug; |
| 45 | |
| 46 | |
| 47 | #ifdef DEBUG |
| 48 | #define LBTF_DEB_LL(grp, grpnam, fmt, args...) \ |
| 49 | do { if ((lbtf_debug & (grp)) == (grp)) \ |
| 50 | printk(KERN_DEBUG DRV_NAME grpnam "%s: " fmt, \ |
| 51 | in_interrupt() ? " (INT)" : "", ## args); } while (0) |
| 52 | #else |
| 53 | #define LBTF_DEB_LL(grp, grpnam, fmt, args...) do {} while (0) |
| 54 | #endif |
| 55 | |
| 56 | #define lbtf_deb_enter(grp) \ |
| 57 | LBTF_DEB_LL(grp | LBTF_DEB_ENTER, " enter", "%s()\n", __func__); |
| 58 | #define lbtf_deb_enter_args(grp, fmt, args...) \ |
| 59 | LBTF_DEB_LL(grp | LBTF_DEB_ENTER, " enter", "%s(" fmt ")\n", __func__, ## args); |
| 60 | #define lbtf_deb_leave(grp) \ |
| 61 | LBTF_DEB_LL(grp | LBTF_DEB_LEAVE, " leave", "%s()\n", __func__); |
| 62 | #define lbtf_deb_leave_args(grp, fmt, args...) \ |
| 63 | LBTF_DEB_LL(grp | LBTF_DEB_LEAVE, " leave", "%s(), " fmt "\n", \ |
| 64 | __func__, ##args); |
| 65 | #define lbtf_deb_main(fmt, args...) LBTF_DEB_LL(LBTF_DEB_MAIN, " main", fmt, ##args) |
| 66 | #define lbtf_deb_net(fmt, args...) LBTF_DEB_LL(LBTF_DEB_NET, " net", fmt, ##args) |
| 67 | #define lbtf_deb_mesh(fmt, args...) LBTF_DEB_LL(LBTF_DEB_MESH, " mesh", fmt, ##args) |
| 68 | #define lbtf_deb_wext(fmt, args...) LBTF_DEB_LL(LBTF_DEB_WEXT, " wext", fmt, ##args) |
| 69 | #define lbtf_deb_ioctl(fmt, args...) LBTF_DEB_LL(LBTF_DEB_IOCTL, " ioctl", fmt, ##args) |
| 70 | #define lbtf_deb_scan(fmt, args...) LBTF_DEB_LL(LBTF_DEB_SCAN, " scan", fmt, ##args) |
| 71 | #define lbtf_deb_assoc(fmt, args...) LBTF_DEB_LL(LBTF_DEB_ASSOC, " assoc", fmt, ##args) |
| 72 | #define lbtf_deb_join(fmt, args...) LBTF_DEB_LL(LBTF_DEB_JOIN, " join", fmt, ##args) |
| 73 | #define lbtf_deb_11d(fmt, args...) LBTF_DEB_LL(LBTF_DEB_11D, " 11d", fmt, ##args) |
| 74 | #define lbtf_deb_debugfs(fmt, args...) LBTF_DEB_LL(LBTF_DEB_DEBUGFS, " debugfs", fmt, ##args) |
| 75 | #define lbtf_deb_ethtool(fmt, args...) LBTF_DEB_LL(LBTF_DEB_ETHTOOL, " ethtool", fmt, ##args) |
| 76 | #define lbtf_deb_host(fmt, args...) LBTF_DEB_LL(LBTF_DEB_HOST, " host", fmt, ##args) |
| 77 | #define lbtf_deb_cmd(fmt, args...) LBTF_DEB_LL(LBTF_DEB_CMD, " cmd", fmt, ##args) |
| 78 | #define lbtf_deb_rx(fmt, args...) LBTF_DEB_LL(LBTF_DEB_RX, " rx", fmt, ##args) |
| 79 | #define lbtf_deb_tx(fmt, args...) LBTF_DEB_LL(LBTF_DEB_TX, " tx", fmt, ##args) |
| 80 | #define lbtf_deb_fw(fmt, args...) LBTF_DEB_LL(LBTF_DEB_FW, " fw", fmt, ##args) |
| 81 | #define lbtf_deb_usb(fmt, args...) LBTF_DEB_LL(LBTF_DEB_USB, " usb", fmt, ##args) |
| 82 | #define lbtf_deb_usbd(dev, fmt, args...) LBTF_DEB_LL(LBTF_DEB_USB, " usbd", "%s:" fmt, dev_name(dev), ##args) |
| 83 | #define lbtf_deb_cs(fmt, args...) LBTF_DEB_LL(LBTF_DEB_CS, " cs", fmt, ##args) |
| 84 | #define lbtf_deb_thread(fmt, args...) LBTF_DEB_LL(LBTF_DEB_THREAD, " thread", fmt, ##args) |
| 85 | #define lbtf_deb_sdio(fmt, args...) LBTF_DEB_LL(LBTF_DEB_SDIO, " thread", fmt, ##args) |
| 86 | #define lbtf_deb_macops(fmt, args...) LBTF_DEB_LL(LBTF_DEB_MACOPS, " thread", fmt, ##args) |
| 87 | |
| 88 | #ifdef DEBUG |
| 89 | static inline void lbtf_deb_hex(unsigned int grp, const char *prompt, u8 *buf, int len) |
| 90 | { |
| 91 | char newprompt[32]; |
| 92 | |
| 93 | if (len && |
| 94 | (lbtf_debug & LBTF_DEB_HEX) && |
| 95 | (lbtf_debug & grp)) { |
| 96 | snprintf(newprompt, sizeof(newprompt), DRV_NAME " %s: ", prompt); |
| 97 | print_hex_dump_bytes(prompt, DUMP_PREFIX_NONE, buf, len); |
| 98 | } |
| 99 | } |
| 100 | #else |
| 101 | #define lbtf_deb_hex(grp, prompt, buf, len) do {} while (0) |
| 102 | #endif |
| 103 | |
| 104 | #endif |