[PATCH 6/7] state: add debugging help
Juergen Borleis
jbe at pengutronix.de
Tue Aug 15 06:46:35 PDT 2017
While working on the state documentation it turns out to be helpful to have
more debug messages while a developer implements a 'state' variable set
and tries to configure it correctly.
Signed-off-by: Juergen Borleis <jbe at pengutronix.de>
---
common/state/backend_storage.c | 7 ++++++-
common/state/state.c | 2 ++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/common/state/backend_storage.c b/common/state/backend_storage.c
index d6e7adcf5..2e2478cb6 100644
--- a/common/state/backend_storage.c
+++ b/common/state/backend_storage.c
@@ -146,6 +146,7 @@ int state_storage_read(struct state_backend_storage *storage,
struct state_backend_storage_bucket *bucket, *bucket_used = NULL;
int ret;
+ dev_dbg(storage->dev, "Checking redundant buckets...\n");
/*
* Iterate over all buckets. The first valid one we find is the
* one we want to use.
@@ -164,8 +165,12 @@ int state_storage_read(struct state_backend_storage *storage,
ret = format->verify(format, magic, bucket->buf, &bucket->len, flags);
if (!ret && !bucket_used)
bucket_used = bucket;
+ if (ret)
+ dev_info(storage->dev, "Ignoring broken bucket %d at 0x%08lx...\n", bucket->num, bucket->offset);
}
+ dev_dbg(storage->dev, "Checking redundant buckets finished.\n");
+
if (!bucket_used) {
dev_err(storage->dev, "Failed to find any valid state copy in any bucket\n");
@@ -386,7 +391,7 @@ int state_storage_init(struct state *state, const char *path,
dev_warn(storage->dev, "using old format circular storage type.\n");
circular = false;
} else {
- dev_warn(storage->dev, "unknown storage type '%s'\n", storagetype);
+ dev_dbg(storage->dev, "unknown storage type '%s'\n", storagetype);
return -EINVAL;
}
return state_storage_mtd_buckets_init(storage, &meminfo, circular);
diff --git a/common/state/state.c b/common/state/state.c
index 121ba0c6d..18ffbe29a 100644
--- a/common/state/state.c
+++ b/common/state/state.c
@@ -608,11 +608,13 @@ struct state *state_new_from_node(struct device_node *node, char *path,
ret = of_property_read_string(node, "backend-type", &backend_type);
if (ret) {
+ dev_dbg(&state->dev, "Missing 'backend-type' property\n");
goto out_release_state;
}
ret = of_property_read_u32(node, "backend-stridesize", &stridesize);
if (ret) {
+ dev_dbg(&state->dev, "'backend-stridesize' property undefined, trying to continue without\n");
stridesize = 0;
}
--
2.11.0
More information about the barebox
mailing list