Skip to content
Snippets Groups Projects
Commit 5013da77 authored by Alexandre Bailon's avatar Alexandre Bailon
Browse files

debug: Add pr_dump() to print memory dump


Add the method pr_dump to dump greybus operations.

Signed-off-by: default avatarAlexandre Bailon <abailon@baylibre.com>
parent b31936ef
No related branches found
No related tags found
No related merge requests found
......@@ -18,9 +18,28 @@
#include <debug.h>
int log_level = 0;
int log_level = LL_VERBOSE;
void set_log_level(int ll)
{
log_level = ll;
}
void _pr_dump(const char *fn, uint8_t *data, size_t len)
{
int j;
int i = 0;
if (log_level < LL_VERBOSE)
return;
printf("%s:\n", fn);
while (i < len) {
for (j = 0; j < LINE_COUNT; i++, j++) {
if (i >= len)
break;
printf("%02x ", data[i]);
}
printf("\n");
}
}
......@@ -20,6 +20,7 @@
#define _DEBUG_H_
#include <stdio.h>
#include <stdint.h>
enum log_level {
LL_ERROR = 0,
......@@ -29,6 +30,8 @@ enum log_level {
LL_VERBOSE
};
#define LINE_COUNT 16
#define ll_print(ll, format, ...) \
do { \
if (log_level >= ll) \
......@@ -47,6 +50,13 @@ enum log_level {
#define pr_dbg(format, ...) \
ll_print(LL_DEBUG, format, ##__VA_ARGS__)
void _pr_dump(const char *sfn, uint8_t *data, size_t len);
#define pr_dump(data, len) \
do { \
_pr_dump(__func__, (uint8_t *)(data), len); \
} while(0)
extern int log_level;
void set_log_level(int ll);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment