summaryrefslogtreecommitdiffstats
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.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/drivers/staging/bcm/Debug.c b/drivers/staging/bcm/Debug.c
new file mode 100644
index 0000000..2703f30
--- /dev/null
+++ b/drivers/staging/bcm/Debug.c
@@ -0,0 +1,41 @@
+#include "headers.h"
+
+static UINT current_debug_level=BCM_SCREAM;
+
+int bcm_print_buffer( UINT debug_level, const char *function_name,
+ char *file_name, int line_number, unsigned char *buffer, int bufferlen, enum _BASE_TYPE base)
+{
+ static const char * const buff_dump_base[] = {
+ "DEC", "HEX", "OCT", "BIN"
+ };
+ if(debug_level>=current_debug_level)
+ {
+ int i=0;
+ 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]);
+ for(;i<bufferlen;i++)
+ {
+ if(i && !(i%16) )
+ printk("\n");
+ switch(base)
+ {
+ case BCM_BASE_TYPE_DEC:
+ printk("%03d ", buffer[i]);
+ break;
+ case BCM_BASE_TYPE_OCT:
+ printk("%0x03o ", buffer[i]);
+ break;
+ case BCM_BASE_TYPE_BIN:
+ printk("%02x ", buffer[i]);
+ break;
+ case BCM_BASE_TYPE_HEX:
+ default:
+ printk("%02X ", buffer[i]);
+ break;
+ }
+ }
+ printk("\n");
+ }
+ return 0;
+}
+
+
OpenPOWER on IntegriCloud