ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / drivers / net / wan / lmc / lmc_debug.c
1
2 #include <linux/types.h>
3 #include <linux/netdevice.h>
4 #include <linux/interrupt.h>
5
6 #include "lmc_debug.h"
7
8 /*
9  * Prints out len, max to 80 octets using printk, 20 per line
10  */
11 void lmcConsoleLog(char *type, unsigned char *ucData, int iLen)
12 {
13 #ifdef DEBUG
14 #ifdef LMC_PACKET_LOG
15   int iNewLine = 1;
16   char str[80], *pstr;
17   
18   sprintf(str, KERN_DEBUG "lmc: %s: ", type);
19   pstr = str+strlen(str);
20   
21   if(iLen > 240){
22       printk(KERN_DEBUG "lmc: Printing 240 chars... out of: %d\n", iLen);
23     iLen = 240;
24   }
25   else{
26       printk(KERN_DEBUG "lmc: Printing %d chars\n", iLen);
27   }
28
29   while(iLen > 0) 
30     {
31       sprintf(pstr, "%02x ", *ucData);
32       pstr+=3;
33       ucData++;
34       if( !(iNewLine % 20))
35         {
36           sprintf(pstr, "\n");
37           printk(str);
38           sprintf(str, KERN_DEBUG "lmc: %s: ", type);
39           pstr=str+strlen(str);
40         }
41       iNewLine++;
42       iLen--;
43     }
44   sprintf(pstr, "\n");
45   printk(str);
46 #endif
47 #endif
48 }
49
50 #ifdef DEBUG
51 u_int32_t lmcEventLogIndex = 0;
52 u_int32_t lmcEventLogBuf[LMC_EVENTLOGSIZE * LMC_EVENTLOGARGS];
53 #endif
54
55 void lmcEventLog (u_int32_t EventNum, u_int32_t arg2, u_int32_t arg3)
56 {
57 #ifdef DEBUG
58   lmcEventLogBuf[lmcEventLogIndex++] = EventNum;
59   lmcEventLogBuf[lmcEventLogIndex++] = arg2;
60   lmcEventLogBuf[lmcEventLogIndex++] = arg3;
61   lmcEventLogBuf[lmcEventLogIndex++] = jiffies;
62
63   lmcEventLogIndex &= (LMC_EVENTLOGSIZE * LMC_EVENTLOGARGS) - 1;
64 #endif
65 }
66
67 inline void lmc_trace(struct net_device *dev, char *msg){
68 #ifdef LMC_TRACE
69     unsigned long j = jiffies + 3; /* Wait for 50 ms */
70
71     if(in_interrupt()){
72         printk("%s: * %s\n", dev->name, msg);
73 //        while(time_before(jiffies, j+10))
74 //            ;
75     }
76     else {
77         printk("%s: %s\n", dev->name, msg);
78         while(time_before(jiffies, j))
79             schedule();
80     }
81 #endif
82 }
83
84
85 /* --------------------------- end if_lmc_linux.c ------------------------ */