Blame view

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