[U-Boot] [PATCH 11/11] dm: core: Add logging of some common errors

Simon Glass sjg at chromium.org
Mon Jun 11 19:07:19 UTC 2018


Add additional logging so that common errors when finding a device by
ofnode are easier to debug.

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

 drivers/core/uclass.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
index 0085d3fb24..d609b170e1 100644
--- a/drivers/core/uclass.c
+++ b/drivers/core/uclass.c
@@ -308,6 +308,7 @@ int uclass_find_device_by_ofnode(enum uclass_id id, ofnode node,
 	struct udevice *dev;
 	int ret;
 
+	log(LOGC_DM, LOGL_DEBUG, "Looking for %s\n", ofnode_get_name(node));
 	*devp = NULL;
 	if (!ofnode_valid(node))
 		return -ENODEV;
@@ -316,13 +317,19 @@ int uclass_find_device_by_ofnode(enum uclass_id id, ofnode node,
 		return ret;
 
 	list_for_each_entry(dev, &uc->dev_head, uclass_node) {
+		log(LOGC_DM, LOGL_DEBUG_CONTENT, "      - checking %s\n",
+		    dev->name);
 		if (ofnode_equal(dev_ofnode(dev), node)) {
 			*devp = dev;
-			return 0;
+			goto done;
 		}
 	}
+	ret = -ENODEV;
 
-	return -ENODEV;
+done:
+	log(LOGC_DM, LOGL_DEBUG, "   - result for %s: %s (ret=%d)\n",
+	    ofnode_get_name(node), *devp ? (*devp)->name : "(none)", ret);
+	return ret;
 }
 
 #if CONFIG_IS_ENABLED(OF_CONTROL)
@@ -449,8 +456,11 @@ int uclass_get_device_by_ofnode(enum uclass_id id, ofnode node,
 	struct udevice *dev;
 	int ret;
 
+	log(LOGC_DM, LOGL_DEBUG, "Looking for %s\n", ofnode_get_name(node));
 	*devp = NULL;
 	ret = uclass_find_device_by_ofnode(id, node, &dev);
+	log(LOGC_DM, LOGL_DEBUG, "   - result for %s: %s (ret=%d)\n",
+	    ofnode_get_name(node), dev ? dev->name : "(none)", ret);
 
 	return uclass_get_device_tail(dev, ret, devp);
 }
-- 
2.18.0.rc1.242.g61856ae69a-goog



More information about the U-Boot mailing list