From: Bin Meng <bmeng.cn@gmail.com>
Date: Fri, 5 Jul 2019 16:23:16 +0000 (-0700)
Subject: dm: core: Call clk_set_defaults() during probe() only for a valid ofnode
X-Git-Tag: v2025.01-rc5-pxa1908~2870^2~7
X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-favicon.png?a=commitdiff_plain;h=a1f99e46665855ade49935a813073860c26d2728;p=u-boot.git

dm: core: Call clk_set_defaults() during probe() only for a valid ofnode

Without a valid ofnode, it's meaningless to call clk_set_defaults()
to process various properties.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

diff --git a/drivers/core/device.c b/drivers/core/device.c
index 0d15e5062b..37d89bcd1d 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -409,10 +409,16 @@ int device_probe(struct udevice *dev)
 			goto fail;
 	}
 
-	/* Process 'assigned-{clocks/clock-parents/clock-rates}' properties */
-	ret = clk_set_defaults(dev);
-	if (ret)
-		goto fail;
+	/* Only handle devices that have a valid ofnode */
+	if (dev_of_valid(dev)) {
+		/*
+		 * Process 'assigned-{clocks/clock-parents/clock-rates}'
+		 * properties
+		 */
+		ret = clk_set_defaults(dev);
+		if (ret)
+			goto fail;
+	}
 
 	if (drv->probe) {
 		ret = drv->probe(dev);