aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Anderson <seanga2@gmail.com>2022-01-15 17:24:58 -0500
committerSean Anderson <seanga2@gmail.com>2022-03-30 13:02:55 -0400
commit276d446757e462c210768eb0bbd48450ae254f51 (patch)
treea89503f0d871402173c7783cee3e59c8dac3f886
parentd2e5250be49fce4653689c41a5dc7e2d7e7ecf33 (diff)
downloadu-boot-276d446757e462c210768eb0bbd48450ae254f51.zip
u-boot-276d446757e462c210768eb0bbd48450ae254f51.tar.gz
u-boot-276d446757e462c210768eb0bbd48450ae254f51.tar.bz2
clk: Make rfree return void
When freeing a clock there is not much we can do if there is an error, and most callers do not actually check the return value. Even e.g. checking to make sure that clk->id is valid should have been done in request() in the first place (unless someone is messing with the driver behind our back). Just return void and don't bother returning an error. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Link: https://lore.kernel.org/r/20220115222504.617013-2-seanga2@gmail.com
-rw-r--r--drivers/clk/clk-uclass.c7
-rw-r--r--drivers/clk/clk_sandbox.c6
-rw-r--r--include/clk-uclass.h8
3 files changed, 9 insertions, 12 deletions
diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
index c20c928..2cc798e 100644
--- a/drivers/clk/clk-uclass.c
+++ b/drivers/clk/clk-uclass.c
@@ -481,10 +481,9 @@ int clk_free(struct clk *clk)
return 0;
ops = clk_dev_ops(clk->dev);
- if (!ops->rfree)
- return 0;
-
- return ops->rfree(clk);
+ if (ops->rfree)
+ ops->rfree(clk);
+ return 0;
}
ulong clk_get_rate(struct clk *clk)
diff --git a/drivers/clk/clk_sandbox.c b/drivers/clk/clk_sandbox.c
index 57acf7d..636914d 100644
--- a/drivers/clk/clk_sandbox.c
+++ b/drivers/clk/clk_sandbox.c
@@ -101,15 +101,15 @@ static int sandbox_clk_request(struct clk *clk)
return 0;
}
-static int sandbox_clk_free(struct clk *clk)
+static void sandbox_clk_free(struct clk *clk)
{
struct sandbox_clk_priv *priv = dev_get_priv(clk->dev);
if (clk->id >= SANDBOX_CLK_ID_COUNT)
- return -EINVAL;
+ return;
priv->requested[clk->id] = false;
- return 0;
+ return;
}
static struct clk_ops sandbox_clk_ops = {
diff --git a/include/clk-uclass.h b/include/clk-uclass.h
index e44f1ca..65ebff9 100644
--- a/include/clk-uclass.h
+++ b/include/clk-uclass.h
@@ -32,7 +32,7 @@ struct clk_ops {
int (*of_xlate)(struct clk *clock,
struct ofnode_phandle_args *args);
int (*request)(struct clk *clock);
- int (*rfree)(struct clk *clock);
+ void (*rfree)(struct clk *clock);
ulong (*round_rate)(struct clk *clk, ulong rate);
ulong (*get_rate)(struct clk *clk);
ulong (*set_rate)(struct clk *clk, ulong rate);
@@ -81,11 +81,9 @@ int request(struct clk *clock);
* rfree() - Free a previously requested clock.
* @clock: The clock to free.
*
- * This is the implementation of the client clk_free() API.
- *
- * Return: 0 if OK, or a negative error code.
+ * Free any resources allocated in request().
*/
-int rfree(struct clk *clock);
+void rfree(struct clk *clock);
/**
* round_rate() - Adjust a rate to the exact rate a clock can provide.