]> bbs.cooldavid.org Git - net-next-2.6.git/blob - drivers/staging/bcm/Debug.c
213f4bcc5dfc70d3214f9149c8a031ef35f975fa
[net-next-2.6.git] / drivers / staging / bcm / Debug.c
1 #include "headers.h"
2
3 char *buff_dump_base[]={"DEC", "HEX",  "OCT", "BIN"     };
4
5 static UINT current_debug_level=BCM_SCREAM;
6
7 int bcm_print_buffer( UINT debug_level, const char *function_name,
8                                   char *file_name, int line_number, unsigned char *buffer, int bufferlen, unsigned int base)
9 {
10         if(debug_level>=current_debug_level)
11         {
12                 int i=0;
13                 printk("\n%s:%s:%d:Buffer dump of size 0x%x in the %s:\n", file_name, function_name, line_number, bufferlen, buff_dump_base[1]);
14                 for(;i<bufferlen;i++)
15                 {
16                         if(i && !(i%16) )
17                                 printk("\n");
18                         switch(base)
19                         {
20                                 case BCM_BASE_TYPE_DEC:
21                                         printk("%03d ", buffer[i]);
22                                         break;
23                                 case BCM_BASE_TYPE_OCT:
24                                         printk("%0x03o ", buffer[i]);
25                                         break;
26                                 case BCM_BASE_TYPE_BIN:
27                                         printk("%02x ", buffer[i]);
28                                         break;
29                                 case BCM_BASE_TYPE_HEX:
30                                 default:
31                                         printk("%02X ", buffer[i]);
32                                         break;
33                         }
34                 }
35                 printk("\n");
36         }
37         return 0;
38 }
39
40