diff options
Diffstat (limited to 'drivers/staging/bcm/Debug.c')
-rw-r--r-- | drivers/staging/bcm/Debug.c | 40 |
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 | |||
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 | |||