@@ -71,24 +71,6 @@ void of_clk_del_provider(struct device_node *np,
mutex_unlock(&of_clk_lock);
}
-static struct clk *__of_clk_get_from_provider(struct device_node *np, const char *clk_output)
-{
- struct of_clk_provider *provider;
- struct clk *clk = NULL;
-
- /* Check if we have such a provider in our array */
- mutex_lock(&of_clk_lock);
- list_for_each_entry(provider, &of_clk_providers, link) {
- if (provider->node == np)
- clk = provider->get(np, clk_output, provider->data);
- if (clk)
- break;
- }
- mutex_unlock(&of_clk_lock);
-
- return clk;
-}
-
struct clk *of_clk_get(struct device *dev, const char *id)
{
struct device_node *provnode;
@@ -123,9 +105,8 @@ struct clk *of_clk_get(struct device *dev, const char *id)
__func__, prop_name, dev->of_node->full_name);
return NULL;
}
- clk = __of_clk_get_from_provider(provnode, prop);
- if (clk)
- dev_dbg(dev, "Using clock from %s\n", provnode->full_name);
+
+ clk = provnode->data;
of_node_put(provnode);
With the platform clock support, the 'struct clk' should have been associated with device_node->data. So the use of function __of_clk_get_from_provider can be eliminated. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> --- drivers/of/clock.c | 23 ++--------------------- 1 files changed, 2 insertions(+), 21 deletions(-)