root/drivers/net/wan/lmc/lmc_debug.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. lmcConsoleLog
  2. lmcEventLog
  3. lmc_trace

   1 // SPDX-License-Identifier: GPL-2.0
   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 #ifdef DEBUG
  12 #ifdef LMC_PACKET_LOG
  13 void lmcConsoleLog(char *type, unsigned char *ucData, int iLen)
  14 {
  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 }
  47 #endif
  48 #endif
  49 
  50 #ifdef DEBUG
  51 u32 lmcEventLogIndex;
  52 u32 lmcEventLogBuf[LMC_EVENTLOGSIZE * LMC_EVENTLOGARGS];
  53 
  54 void lmcEventLog(u32 EventNum, u32 arg2, u32 arg3)
  55 {
  56   lmcEventLogBuf[lmcEventLogIndex++] = EventNum;
  57   lmcEventLogBuf[lmcEventLogIndex++] = arg2;
  58   lmcEventLogBuf[lmcEventLogIndex++] = arg3;
  59   lmcEventLogBuf[lmcEventLogIndex++] = jiffies;
  60 
  61   lmcEventLogIndex &= (LMC_EVENTLOGSIZE * LMC_EVENTLOGARGS) - 1;
  62 }
  63 #endif  /*  DEBUG  */
  64 
  65 void lmc_trace(struct net_device *dev, char *msg){
  66 #ifdef LMC_TRACE
  67     unsigned long j = jiffies + 3; /* Wait for 50 ms */
  68 
  69     if(in_interrupt()){
  70         printk("%s: * %s\n", dev->name, msg);
  71 //        while(time_before(jiffies, j+10))
  72 //            ;
  73     }
  74     else {
  75         printk("%s: %s\n", dev->name, msg);
  76         while(time_before(jiffies, j))
  77             schedule();
  78     }
  79 #endif
  80 }
  81 
  82 
  83 /* --------------------------- end if_lmc_linux.c ------------------------ */

/* [<][>][^][v][top][bottom][index][help] */