Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelv...
[pandora-kernel.git] / drivers / staging / bcm / Debug.c
1 #include "headers.h"
2
3 static UINT current_debug_level=BCM_SCREAM;
4
5 int bcm_print_buffer( UINT debug_level, const char *function_name,
6                                   char *file_name, int line_number, unsigned char *buffer, int bufferlen, enum _BASE_TYPE base)
7 {
8         static const char * const buff_dump_base[] = {
9                 "DEC", "HEX", "OCT", "BIN"
10         };
11         if(debug_level>=current_debug_level)
12         {
13                 int i=0;
14                 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]);
15                 for(;i<bufferlen;i++)
16                 {
17                         if(i && !(i%16) )
18                                 printk("\n");
19                         switch(base)
20                         {
21                                 case BCM_BASE_TYPE_DEC:
22                                         printk("%03d ", buffer[i]);
23                                         break;
24                                 case BCM_BASE_TYPE_OCT:
25                                         printk("%0x03o ", buffer[i]);
26                                         break;
27                                 case BCM_BASE_TYPE_BIN:
28                                         printk("%02x ", buffer[i]);
29                                         break;
30                                 case BCM_BASE_TYPE_HEX:
31                                 default:
32                                         printk("%02X ", buffer[i]);
33                                         break;
34                         }
35                 }
36                 printk("\n");
37         }
38         return 0;
39 }
40
41