of_clk_get_by_clkspec() has the same function signature as
of_clk_get_from_provider()

 struct clk *of_clk_get_by_clkspec(struct of_phandle_args
 *clkspec)
 struct clk *of_clk_get_from_provider(struct of_phandle_args
 *clkspec)

except of_clk_get_by_clkspec() checks to make sure clkspec is not
NULL. Let's remove of_clk_get_by_clkspec() and replace the
callers of it (clkconf.c) with of_clk_get_from_provider().

Cc: Sylwester Nawrocki <[email protected]>
Signed-off-by: Stephen Boyd <[email protected]>
---
 drivers/clk/clk-conf.c |  6 +++---
 drivers/clk/clk.c      | 31 ++++++++++++++-----------------
 drivers/clk/clk.h      |  3 ---
 drivers/clk/clkdev.c   | 30 +-----------------------------
 4 files changed, 18 insertions(+), 52 deletions(-)

diff --git a/drivers/clk/clk-conf.c b/drivers/clk/clk-conf.c
index aad4796aa3ed..6a681a2c4c89 100644
--- a/drivers/clk/clk-conf.c
+++ b/drivers/clk/clk-conf.c
@@ -39,7 +39,7 @@ static int __set_clk_parents(struct device_node *node, bool 
clk_supplier)
                }
                if (clkspec.np == node && !clk_supplier)
                        return 0;
-               pclk = of_clk_get_by_clkspec(&clkspec);
+               pclk = of_clk_get_from_provider(&clkspec);
                if (IS_ERR(pclk)) {
                        pr_warn("clk: couldn't get parent clock %d for %s\n",
                                index, node->full_name);
@@ -54,7 +54,7 @@ static int __set_clk_parents(struct device_node *node, bool 
clk_supplier)
                        rc = 0;
                        goto err;
                }
-               clk = of_clk_get_by_clkspec(&clkspec);
+               clk = of_clk_get_from_provider(&clkspec);
                if (IS_ERR(clk)) {
                        pr_warn("clk: couldn't get parent clock %d for %s\n",
                                index, node->full_name);
@@ -98,7 +98,7 @@ static int __set_clk_rates(struct device_node *node, bool 
clk_supplier)
                        if (clkspec.np == node && !clk_supplier)
                                return 0;
 
-                       clk = of_clk_get_by_clkspec(&clkspec);
+                       clk = of_clk_get_from_provider(&clkspec);
                        if (IS_ERR(clk)) {
                                pr_warn("clk: couldn't get clock %d for %s\n",
                                        index, node->full_name);
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 315dc22b7356..5d804a43ab1a 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -2807,16 +2807,6 @@ static LIST_HEAD(of_clk_providers);
 static DEFINE_MUTEX(of_clk_mutex);
 
 /* of_clk_provider list locking helpers */
-void of_clk_lock(void)
-{
-       mutex_lock(&of_clk_mutex);
-}
-
-void of_clk_unlock(void)
-{
-       mutex_unlock(&of_clk_mutex);
-}
-
 struct clk *of_clk_src_simple_get(struct of_phandle_args *clkspec,
                                     void *data)
 {
@@ -2900,7 +2890,11 @@ struct clk *__of_clk_get_from_provider(struct 
of_phandle_args *clkspec,
        struct of_clk_provider *provider;
        struct clk *clk = ERR_PTR(-EPROBE_DEFER);
 
+       if (!clkspec)
+               return ERR_PTR(-EINVAL);
+
        /* Check if we have such a provider in our array */
+       mutex_lock(&of_clk_mutex);
        list_for_each_entry(provider, &of_clk_providers, link) {
                if (provider->node == clkspec->np)
                        clk = provider->get(clkspec, provider->data);
@@ -2916,19 +2910,22 @@ struct clk *__of_clk_get_from_provider(struct 
of_phandle_args *clkspec,
                        break;
                }
        }
+       mutex_unlock(&of_clk_mutex);
 
        return clk;
 }
 
+/**
+ * of_clk_get_from_provider() - Lookup a clock from a clock provider
+ * @clkspec: pointer to a clock specifier data structure
+ *
+ * This function looks up a struct clk from the registered list of clock
+ * providers, an input is a clock specifier data structure as returned
+ * from the of_parse_phandle_with_args() function call.
+ */
 struct clk *of_clk_get_from_provider(struct of_phandle_args *clkspec)
 {
-       struct clk *clk;
-
-       mutex_lock(&of_clk_mutex);
-       clk = __of_clk_get_from_provider(clkspec, NULL, __func__);
-       mutex_unlock(&of_clk_mutex);
-
-       return clk;
+       return __of_clk_get_from_provider(clkspec, NULL, __func__);
 }
 
 int of_clk_get_parent_count(struct device_node *np)
diff --git a/drivers/clk/clk.h b/drivers/clk/clk.h
index 813c5b0754d3..0f7f87d1fffc 100644
--- a/drivers/clk/clk.h
+++ b/drivers/clk/clk.h
@@ -12,11 +12,8 @@
 struct clk_hw;
 
 #if defined(CONFIG_OF) && defined(CONFIG_COMMON_CLK)
-struct clk *of_clk_get_by_clkspec(struct of_phandle_args *clkspec);
 struct clk *__of_clk_get_from_provider(struct of_phandle_args *clkspec,
                                       const char *dev_id, const char *con_id);
-void of_clk_lock(void);
-void of_clk_unlock(void);
 #endif
 
 #ifdef CONFIG_COMMON_CLK
diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c
index e5859a51a4e2..9bef5ff0d3ab 100644
--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -27,34 +27,6 @@ static LIST_HEAD(clocks);
 static DEFINE_MUTEX(clocks_mutex);
 
 #if defined(CONFIG_OF) && defined(CONFIG_COMMON_CLK)
-
-static struct clk *__of_clk_get_by_clkspec(struct of_phandle_args *clkspec,
-                                        const char *dev_id, const char *con_id)
-{
-       struct clk *clk;
-
-       if (!clkspec)
-               return ERR_PTR(-EINVAL);
-
-       of_clk_lock();
-       clk = __of_clk_get_from_provider(clkspec, dev_id, con_id);
-       of_clk_unlock();
-       return clk;
-}
-
-/**
- * of_clk_get_by_clkspec() - Lookup a clock form a clock provider
- * @clkspec: pointer to a clock specifier data structure
- *
- * This function looks up a struct clk from the registered list of clock
- * providers, an input is a clock specifier data structure as returned
- * from the of_parse_phandle_with_args() function call.
- */
-struct clk *of_clk_get_by_clkspec(struct of_phandle_args *clkspec)
-{
-       return __of_clk_get_by_clkspec(clkspec, NULL, __func__);
-}
-
 static struct clk *__of_clk_get(struct device_node *np, int index,
                               const char *dev_id, const char *con_id)
 {
@@ -70,7 +42,7 @@ static struct clk *__of_clk_get(struct device_node *np, int 
index,
        if (rc)
                return ERR_PTR(rc);
 
-       clk = __of_clk_get_by_clkspec(&clkspec, dev_id, con_id);
+       clk = __of_clk_get_from_provider(&clkspec, dev_id, con_id);
        of_node_put(clkspec.np);
 
        return clk;
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to