2 * Common debugging macros for use with the hisax driver
5 * Copyright 2001 by Frode Isaksen <fisaksen@bewan.com>
6 * 2001 by Kai Germaschewski <kai.germaschewski@gmx.de>
8 * This software may be used and distributed according to the terms
9 * of the GNU General Public License, incorporated herein by reference.
13 * Before including this file, you need to
14 * #define __debug_variable my_debug
15 * where my_debug is a variable in your code which
16 * determines the debug bitmask.
18 * If CONFIG_HISAX_DEBUG is not set, all macros evaluate to nothing
22 #ifndef __HISAX_DEBUG_H__
23 #define __HISAX_DEBUG_H__
26 #ifdef CONFIG_HISAX_DEBUG
28 #define DBG(level, format, arg...) do { \
29 if (level & __debug_variable) \
30 printk(KERN_DEBUG "%s: " format "\n" , __func__ , ## arg); \
33 #define DBG_PACKET(level, data, count) \
34 if (level & __debug_variable) dump_packet(__func__, data, count)
36 #define DBG_SKB(level, skb) \
37 if ((level & __debug_variable) && skb) dump_packet(__func__, skb->data, skb->len)
40 static void __attribute__((unused
))
41 dump_packet(const char *name
, const u_char
*data
, int pkt_len
)
43 #define DUMP_HDR_SIZE 20
44 #define DUMP_TLR_SIZE 8
48 printk(KERN_DEBUG
"%s: length=%d,data=", name
, pkt_len
);
50 if (pkt_len
> DUMP_HDR_SIZE
+ DUMP_TLR_SIZE
) {
54 len1
= pkt_len
> DUMP_HDR_SIZE
? DUMP_HDR_SIZE
: pkt_len
;
57 for (i
= 0; i
< len1
; ++i
) {
58 printk("%.2x", data
[i
]);
62 for (i
= pkt_len
-DUMP_TLR_SIZE
; i
< pkt_len
; ++i
) {
63 printk("%.2x", data
[i
]);
74 #define DBG(level, format, arg...) do {} while (0)
75 #define DBG_PACKET(level, data, count) do {} while (0)
76 #define DBG_SKB(level, skb) do {} while (0)