summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Anderson <seanga2@gmail.com>2022-01-15 17:25:04 -0500
committerSean Anderson <seanga2@gmail.com>2022-03-30 13:02:55 -0400
commitac15e789caecec19d29ee9c5869305d3c3ddfb42 (patch)
tree1f6eb51df9cbb9da87a208b5f1c46a1d2d4797af
parent3cbdd4cab951b8bd3f2e76066e6911f9780c4eb1 (diff)
downloadu-boot-ac15e789caecec19d29ee9c5869305d3c3ddfb42.tar.gz
u-boot-ac15e789caecec19d29ee9c5869305d3c3ddfb42.tar.bz2
u-boot-ac15e789caecec19d29ee9c5869305d3c3ddfb42.zip
clk: Make clk_free return void
Most callers of this function do not check the return value, and it is unclear what action they should take if it fails. If a function is freeing multiple clocks, it should not stop just because the first one failed. Since the callbacks can no longer fail, just convert the return type to void. Signed-off-by: Sean Anderson <seanga2@gmail.com> Link: https://lore.kernel.org/r/20220115222504.617013-8-seanga2@gmail.com
-rw-r--r--drivers/clk/clk-uclass.c10
-rw-r--r--drivers/clk/clk_sandbox_test.c9
-rw-r--r--include/clk.h8
3 files changed, 11 insertions, 16 deletions
diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
index 2cc798e936..d003bdde74 100644
--- a/drivers/clk/clk-uclass.c
+++ b/drivers/clk/clk-uclass.c
@@ -447,9 +447,7 @@ int clk_release_all(struct clk *clk, int count)
if (ret && ret != -ENOSYS)
return ret;
- ret = clk_free(&clk[i]);
- if (ret && ret != -ENOSYS)
- return ret;
+ clk_free(&clk[i]);
}
return 0;
@@ -472,18 +470,18 @@ int clk_request(struct udevice *dev, struct clk *clk)
return ops->request(clk);
}
-int clk_free(struct clk *clk)
+void clk_free(struct clk *clk)
{
const struct clk_ops *ops;
debug("%s(clk=%p)\n", __func__, clk);
if (!clk_valid(clk))
- return 0;
+ return;
ops = clk_dev_ops(clk->dev);
if (ops->rfree)
ops->rfree(clk);
- return 0;
+ return;
}
ulong clk_get_rate(struct clk *clk)
diff --git a/drivers/clk/clk_sandbox_test.c b/drivers/clk/clk_sandbox_test.c
index f665fd3cc4..5807a454f3 100644
--- a/drivers/clk/clk_sandbox_test.c
+++ b/drivers/clk/clk_sandbox_test.c
@@ -137,14 +137,11 @@ int sandbox_clk_test_disable_bulk(struct udevice *dev)
int sandbox_clk_test_free(struct udevice *dev)
{
struct sandbox_clk_test *sbct = dev_get_priv(dev);
- int i, ret;
+ int i;
devm_clk_put(dev, sbct->clkps[SANDBOX_CLK_TEST_ID_DEVM1]);
- for (i = 0; i < SANDBOX_CLK_TEST_NON_DEVM_COUNT; i++) {
- ret = clk_free(&sbct->clks[i]);
- if (ret)
- return ret;
- }
+ for (i = 0; i < SANDBOX_CLK_TEST_NON_DEVM_COUNT; i++)
+ clk_free(&sbct->clks[i]);
return 0;
}
diff --git a/include/clk.h b/include/clk.h
index 23e4d4ea72..76bb64bb5e 100644
--- a/include/clk.h
+++ b/include/clk.h
@@ -414,9 +414,9 @@ int clk_request(struct udevice *dev, struct clk *clk);
* @clk: A clock struct that was previously successfully requested by
* clk_request/get_by_*().
*
- * Return: 0 if OK, or a negative error code.
+ * Free resources allocated by clk_request() (or any clk_get_* function).
*/
-int clk_free(struct clk *clk);
+void clk_free(struct clk *clk);
/**
* clk_get_rate() - Get current clock rate.
@@ -562,9 +562,9 @@ static inline int clk_request(struct udevice *dev, struct clk *clk)
return -ENOSYS;
}
-static inline int clk_free(struct clk *clk)
+static inline void clk_free(struct clk *clk)
{
- return 0;
+ return;
}
static inline ulong clk_get_rate(struct clk *clk)