clk: introduce clk_dev_binded
authorPeng Fan <peng.fan@nxp.com>
Wed, 31 Jul 2019 07:01:23 +0000 (07:01 +0000)
committerLukasz Majewski <lukma@denx.de>
Wed, 31 Jul 2019 07:20:51 +0000 (09:20 +0200)
When support Clock Common Framework, U-Boot use dev for
clk tree information, there is no clk->parent. When
support composite clk, it contains mux/gate/divider,
but the mux/gate/divider is not binded with device.
So we could not use dev_get_uclass_priv to get the correct
clk_mux/gate/divider. So add clk_dev_binded to let
choose the correct method.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
drivers/clk/clk.c
include/clk.h

index 7d748c9fc735c45888fedbd1b30ded81607f49ab..39b3087067a63b097b4c6b5d03e378c66f7b1fb6 100644 (file)
@@ -55,3 +55,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;
+}
index f8f56d9cf01db92094fa91960120e31f35a48d21..2ebc905e04b5545c67df9e1a8f95267adde07f3d 100644 (file)
@@ -356,4 +356,13 @@ static inline bool clk_valid(struct clk *clk)
  * @return zero on success, or -ENOENT on error
  */
 int clk_get_by_id(ulong id, struct clk **clkp);
+
+/**
+ * clk_dev_binded() - Check whether the clk has a device binded
+ *
+ * @clk                A pointer to the clk
+ *
+ * @return true on binded, or false on no
+ */
+bool clk_dev_binded(struct clk *clk);
 #endif