summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJagan Teki <jagan@amarulasolutions.com>2019-02-28 00:26:53 +0530
committerJagan Teki <jagan@amarulasolutions.com>2019-05-09 00:44:13 +0530
commitdcb63fcd16c579378e68ab34849b47dda45f41b2 (patch)
tree2443a6a4bfdef0c18152b6aa8e423ca19b8f9ba9
parent75f98314f92f64fd3526464006d934d4fe9b2710 (diff)
clk: Use clk_get_by_index_tail()
clk_get_by_index_tail() now handle common clk get by index code so use it from clk_get_by_indexed_prop(). Cc: Stephen Warren <swarren@nvidia.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
-rw-r--r--drivers/clk/clk-uclass.c24
1 files changed, 2 insertions, 22 deletions
diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
index d9236c5b51..79b3b0494c 100644
--- a/drivers/clk/clk-uclass.c
+++ b/drivers/clk/clk-uclass.c
@@ -99,8 +99,6 @@ static int clk_get_by_indexed_prop(struct udevice *dev, const char *prop_name,
{
int ret;
struct ofnode_phandle_args args;
- struct udevice *dev_clk;
- const struct clk_ops *ops;
debug("%s(dev=%p, index=%d, clk=%p)\n", __func__, dev, index, clk);
@@ -115,27 +113,9 @@ static int clk_get_by_indexed_prop(struct udevice *dev, const char *prop_name,
return ret;
}
- ret = uclass_get_device_by_ofnode(UCLASS_CLK, args.node, &dev_clk);
- if (ret) {
- debug("%s: uclass_get_device_by_of_offset failed: err=%d\n",
- __func__, ret);
- return ret;
- }
-
- clk->dev = dev_clk;
-
- ops = clk_dev_ops(dev_clk);
- if (ops->of_xlate)
- ret = ops->of_xlate(clk, &args);
- else
- ret = clk_of_xlate_default(clk, &args);
- if (ret) {
- debug("of_xlate() failed: %d\n", ret);
- return ret;
- }
-
- return clk_request(dev_clk, clk);
+ return clk_get_by_index_tail(ret, dev_ofnode(dev), &args, "clocks",
+ index > 0, clk);
}
int clk_get_by_index(struct udevice *dev, int index, struct clk *clk)