aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/bcm/Debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/bcm/Debug.c')
-rw-r--r--drivers/staging/bcm/Debug.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/drivers/staging/bcm/Debug.c b/drivers/staging/bcm/Debug.c
new file mode 100644
index 00000000000..213f4bcc5df
--- /dev/null
+++ b/drivers/staging/bcm/Debug.c
@@ -0,0 +1,40 @@
1#include "headers.h"
2
3char *buff_dump_base[]={"DEC", "HEX", "OCT", "BIN" };
4
5static UINT current_debug_level=BCM_SCREAM;
6
7int 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