Merge tag 'u-boot-imx-20200825' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[platform/kernel/u-boot.git] / drivers / clk / clk.c
index 7d748c9..786f4e8 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <clk-uclass.h>
+#include <log.h>
 #include <dm/device.h>
 #include <dm/uclass.h>
 #include <dm/lists.h>
@@ -20,11 +21,13 @@ int clk_register(struct clk *clk, const char *drv_name,
        int ret;
 
        ret = uclass_get_device_by_name(UCLASS_CLK, parent_name, &parent);
-       if (ret)
-               printf("%s: UCLASS parent: 0x%p\n", __func__, parent);
-
-       debug("%s: name: %s parent: %s [0x%p]\n", __func__, name, parent->name,
-             parent);
+       if (ret) {
+               printf("%s: failed to get %s device (parent of %s)\n",
+                      __func__, parent_name, name);
+       } else {
+               debug("%s: name: %s parent: %s [0x%p]\n", __func__, name,
+                     parent->name, parent);
+       }
 
        drv = lists_driver_lookup_name(drv_name);
        if (!drv) {
@@ -40,6 +43,7 @@ int clk_register(struct clk *clk, const char *drv_name,
                return ret;
        }
 
+       clk->enable_count = 0;
        /* Store back pointer to clk from udevice */
        clk->dev->uclass_priv = clk;
 
@@ -55,3 +59,11 @@ const char *clk_hw_get_name(const struct clk *hw)
 {
        return hw->dev->name;
 }
+
+bool clk_dev_binded(struct clk *clk)
+{
+       if (clk->dev && (clk->dev->flags & DM_FLAG_BOUND))
+               return true;
+
+       return false;
+}