clk: Make clk_free return void
authorSean Anderson <seanga2@gmail.com>
Sat, 15 Jan 2022 22:25:04 +0000 (17:25 -0500)
committerSean Anderson <seanga2@gmail.com>
Wed, 30 Mar 2022 17:02:55 +0000 (13:02 -0400)
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
drivers/clk/clk-uclass.c
drivers/clk/clk_sandbox_test.c
include/clk.h

index 2cc798e..d003bdd 100644 (file)
@@ -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)
index f665fd3..5807a45 100644 (file)
@@ -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;
 }
index 23e4d4e..76bb64b 100644 (file)
@@ -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)