This allows devm_clock_get(dev, NULL) to work and get the first clock,
which is common in code ported from Linux.

Signed-off-by: Samuel Holland <sam...@sholland.org>
---

 drivers/clk/clk-uclass.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
index 2f9635524cf..bfacafb2eef 100644
--- a/drivers/clk/clk-uclass.c
+++ b/drivers/clk/clk-uclass.c
@@ -399,13 +399,14 @@ int clk_get_by_name(struct udevice *dev, const char 
*name, struct clk *clk)
 
 int clk_get_by_name_nodev(ofnode node, const char *name, struct clk *clk)
 {
-       int index;
+       int index = 0;
 
        debug("%s(node=%p, name=%s, clk=%p)\n", __func__,
                ofnode_get_name(node), name, clk);
        clk->dev = NULL;
 
-       index = ofnode_stringlist_search(node, "clock-names", name);
+       if (name)
+               index = ofnode_stringlist_search(node, "clock-names", name);
        if (index < 0) {
                debug("fdt_stringlist_search() failed: %d\n", index);
                return index;
-- 
2.37.4

Reply via email to