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

Signed-off-by: Bin Meng <[email protected]>
---

 drivers/core/device.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/core/device.c b/drivers/core/device.c
index 0d15e50..37d89bc 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);
-- 
2.7.4

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to