
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 ---
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);