summaryrefslogtreecommitdiffstats
path: root/drivers/clk/clk.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-03-09 08:30:35 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-03-09 08:30:35 +0100
commit55ab01c7ff16e5fcb2d91870d0ab84399512ee3f (patch)
tree62effecfbc202bf8954de3bbfab50ecb9c7992db /drivers/clk/clk.c
parent5c8ced1a6dec754a757d730a0205d168728c7f96 (diff)
parent84fcb04367ccf9c89f442c8a5a716cceb34413e6 (diff)
downloadbarebox-55ab01c7ff16e5fcb2d91870d0ab84399512ee3f.tar.gz
barebox-55ab01c7ff16e5fcb2d91870d0ab84399512ee3f.tar.xz
Merge branch 'for-next/rockchip'
Conflicts: arch/arm/Kconfig
Diffstat (limited to 'drivers/clk/clk.c')
-rw-r--r--drivers/clk/clk.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 1f11bb3686..630a84d585 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -229,6 +229,16 @@ struct clk *clk_get_parent(struct clk *clk)
int clk_register(struct clk *clk)
{
+ struct clk *c;
+
+ list_for_each_entry(c, &clks, list) {
+ if (!strcmp(c->name, clk->name)) {
+ pr_err("%s clk %s is already registered, skipping!\n",
+ __func__, clk->name);
+ return -EBUSY;
+ }
+ }
+
clk->parents = xzalloc(sizeof(struct clk *) * clk->num_parents);
list_add_tail(&clk->list, &clks);