OSDN Git Service

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