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__
25 #include <linux/config.h>
27 #ifdef CONFIG_HISAX_DEBUG
29 #define DBG(level, format, arg...) do { \
30 if (level & __debug_variable) \
31 printk(KERN_DEBUG "%s: " format "\n" , __FUNCTION__ , ## arg); \
34 #define DBG_PACKET(level,data,count) \
35 if (level & __debug_variable) dump_packet(__FUNCTION__,data,count)
37 #define DBG_SKB(level,skb) \
38 if ((level & __debug_variable) && skb) dump_packet(__FUNCTION__,skb->data,skb->len)
41 static void __attribute__((unused
))
42 dump_packet(const char *name
,const u_char
*data
,int pkt_len
)
44 #define DUMP_HDR_SIZE 20
45 #define DUMP_TLR_SIZE 8
49 printk(KERN_DEBUG
"%s: length=%d,data=",name
,pkt_len
);
51 if (pkt_len
> DUMP_HDR_SIZE
+ DUMP_TLR_SIZE
) {
55 len1
= pkt_len
> DUMP_HDR_SIZE
? DUMP_HDR_SIZE
: pkt_len
;
58 for (i
= 0; i
< len1
; ++i
) {
59 printk ("%.2x", data
[i
]);
63 for (i
= pkt_len
-DUMP_TLR_SIZE
; i
< pkt_len
; ++i
) {
64 printk ("%.2x", data
[i
]);
75 #define DBG(level, format, arg...) do {} while (0)
76 #define DBG_PACKET(level,data,count) do {} while (0)
77 #define DBG_SKB(level,skb) do {} while (0)