summaryrefslogtreecommitdiffstats
path: root/drivers/clk/clk.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2021-07-18 07:13:57 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2021-07-18 07:13:57 +0200
commit62c40ea9da3d03b960951d61e670ba60326536ef (patch)
tree2803a806ba6af52379ae7d107afe68c8439cd9f4 /drivers/clk/clk.c
parent33f8f53317659cd2c61dd118bfa7150f33aa30fb (diff)
parentd30ef4e4bf8ebd6d8e857747647283acc0010153 (diff)
downloadbarebox-62c40ea9da3d03b960951d61e670ba60326536ef.tar.gz
barebox-62c40ea9da3d03b960951d61e670ba60326536ef.tar.xz
Merge branch 'for-next/rockchip'
Diffstat (limited to 'drivers/clk/clk.c')
-rw-r--r--drivers/clk/clk.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index f9e771e5ea..fff1e21144 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -525,6 +525,28 @@ int clk_parent_set_rate(struct clk_hw *hw, unsigned long rate,
return clk_set_rate(clk_get_parent(clk), rate);
}
+int clk_name_set_parent(const char *clkname, const char *clkparentname)
+{
+ struct clk *clk = clk_lookup(clkname);
+ struct clk *parent = clk_lookup(clkparentname);
+
+ if (IS_ERR(clk))
+ return -ENOENT;
+ if (IS_ERR(parent))
+ return -ENOENT;
+ return clk_set_parent(clk, parent);
+}
+
+int clk_name_set_rate(const char *clkname, unsigned long rate)
+{
+ struct clk *clk = clk_lookup(clkname);
+
+ if (IS_ERR(clk))
+ return -ENOENT;
+
+ return clk_set_rate(clk, rate);
+}
+
#if defined(CONFIG_COMMON_CLK_OF_PROVIDER)
/**
* struct of_clk_provider - Clock provider registration structure