|
@@ -1587,6 +1587,20 @@ struct clk *of_clk_src_simple_get(struct of_phandle_args *clkspec,
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(of_clk_src_simple_get);
|
|
|
|
|
|
+struct clk *of_clk_src_onecell_get(struct of_phandle_args *clkspec, void *data)
|
|
|
+{
|
|
|
+ struct clk_onecell_data *clk_data = data;
|
|
|
+ unsigned int idx = clkspec->args[0];
|
|
|
+
|
|
|
+ if (idx >= clk_data->clk_num) {
|
|
|
+ pr_err("%s: invalid clock index %d\n", __func__, idx);
|
|
|
+ return ERR_PTR(-EINVAL);
|
|
|
+ }
|
|
|
+
|
|
|
+ return clk_data->clks[idx];
|
|
|
+}
|
|
|
+EXPORT_SYMBOL_GPL(of_clk_src_onecell_get);
|
|
|
+
|
|
|
/**
|
|
|
* of_clk_add_provider() - Register a clock provider for a node
|
|
|
* @np: Device node pointer associated with clock provider
|