[PATCH 69/71] bootstd: Add a little more logging of bootflows

Simon Glass sjg at chromium.org
Wed Dec 7 09:51:35 CET 2022


Add some logging to aid debugging of problems with bootflows.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 boot/bootdev-uclass.c | 1 +
 boot/bootflow.c       | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c
index 522ecf38eb3..99ee08e3353 100644
--- a/boot/bootdev-uclass.c
+++ b/boot/bootdev-uclass.c
@@ -546,6 +546,7 @@ int bootdev_get_bootflow(struct udevice *dev, struct bootflow_iter *iter,
 {
 	const struct bootdev_ops *ops = bootdev_get_ops(dev);
 
+	log_debug("->get_bootflow %s=%p\n", dev->name, ops->get_bootflow);
 	bootflow_init(bflow, dev, iter->method);
 	if (!ops->get_bootflow)
 		return default_get_bootflow(dev, iter, bflow);
diff --git a/boot/bootflow.c b/boot/bootflow.c
index a351dc5fdf1..85d3d6c71ce 100644
--- a/boot/bootflow.c
+++ b/boot/bootflow.c
@@ -367,6 +367,7 @@ int bootflow_scan_first(struct udevice *dev, const char *label,
 
 	ret = bootflow_check(iter, bflow);
 	if (ret) {
+		log_debug("check - ret=%d\n", ret);
 		if (ret != BF_NO_MORE_PARTS && ret != -ENOSYS) {
 			if (iter->flags & BOOTFLOWF_ALL)
 				return log_msg_ret("all", ret);
@@ -386,11 +387,13 @@ int bootflow_scan_next(struct bootflow_iter *iter, struct bootflow *bflow)
 
 	do {
 		ret = iter_incr(iter);
+		log_debug("iter_incr: ret=%d\n", ret);
 		if (ret == BF_NO_MORE_DEVICES)
 			return log_msg_ret("done", ret);
 
 		if (!ret) {
 			ret = bootflow_check(iter, bflow);
+			log_debug("check - ret=%d\n", ret);
 			if (!ret)
 				return 0;
 			iter->err = ret;
@@ -399,6 +402,7 @@ int bootflow_scan_next(struct bootflow_iter *iter, struct bootflow *bflow)
 					return log_msg_ret("all", ret);
 			}
 		} else {
+			log_debug("incr failed, err=%d\n", ret);
 			iter->err = ret;
 		}
 
-- 
2.39.0.rc0.267.gcb52ba06e7-goog



More information about the U-Boot mailing list