]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Revert "clk: Return value calculated by ERR_PTR"
authorTom Rini <trini@konsulko.com>
Fri, 12 Dec 2025 01:19:06 +0000 (19:19 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 12 Dec 2025 14:00:54 +0000 (08:00 -0600)
While this change was intended to fix a mistake in the code, of calling
the ERR_PTR macro but not making use of the result, it seems that
functionally platforms depend on the loop not existing here. The TI K3
families of platforms for example were broken by this commit.

This reverts commit fe780310cfa8bf5a093894b5cd7fe85c6b02fd91.

Reported-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
arch/sandbox/include/asm/clk.h
drivers/clk/clk-uclass.c
drivers/clk/clk_sandbox.c
test/dm/clk.c

index 2d3318cdcc4d5a6710441fcc532dc7d9a06408f0..37fe49c7fcf61a0d172dad8539f510431b9ab59d 100644 (file)
@@ -50,7 +50,6 @@ enum sandbox_clk_test_id {
 
 struct sandbox_clk_priv {
        bool probed;
-       struct clk clk;
        ulong rate[SANDBOX_CLK_ID_COUNT];
        bool enabled[SANDBOX_CLK_ID_COUNT];
        bool requested[SANDBOX_CLK_ID_COUNT];
index 4420651f765c0e4a1be95c0d0c0e1407060fb9ae..0584429bed65effd7c5914d9d88646235db9280a 100644 (file)
@@ -199,7 +199,7 @@ static struct clk *clk_set_default_get_by_id(struct clk *clk)
                if (ret) {
                        debug("%s(): could not get parent clock pointer, id %lu\n",
                              __func__, clk->id);
-                       return ERR_PTR(ret);
+                       ERR_PTR(ret);
                }
        }
 
@@ -354,7 +354,7 @@ static int clk_set_default_rates(struct udevice *dev,
 
                c = clk_set_default_get_by_id(&clk);
                if (IS_ERR(c))
-                       continue;
+                       return PTR_ERR(c);
 
                ret = clk_set_rate(c, rates[index]);
 
index cd92a6a29f57565ee140b012e34d284c93247023..c8c5a88c52d985632733030b0cb92970920a5fc5 100644 (file)
@@ -8,23 +8,8 @@
 #include <errno.h>
 #include <malloc.h>
 #include <asm/clk.h>
-#include <dm/device-internal.h>
 #include <linux/clk-provider.h>
 
-static int sandbox_clk_of_to_plat(struct udevice *dev)
-{
-       struct clk *clk;
-       struct sandbox_clk_priv *priv = dev_get_priv(dev);
-
-       clk = &priv->clk;
-
-       /* FIXME: This is not allowed */
-       dev_set_uclass_priv(dev, clk);
-
-       clk->dev = dev;
-       return 0;
-}
-
 static ulong sandbox_clk_get_rate(struct clk *clk)
 {
        struct sandbox_clk_priv *priv = dev_get_priv(clk->dev);
@@ -117,7 +102,6 @@ static int sandbox_clk_request(struct clk *clk)
        if (id >= SANDBOX_CLK_ID_COUNT)
                return -EINVAL;
 
-       priv->clk.id = id;
        priv->requested[id] = true;
        return 0;
 }
@@ -148,7 +132,6 @@ U_BOOT_DRIVER(sandbox_clk) = {
        .name           = "sandbox_clk",
        .id             = UCLASS_CLK,
        .of_match       = sandbox_clk_ids,
-       .of_to_plat     = sandbox_clk_of_to_plat,
        .ops            = &sandbox_clk_ops,
        .probe          = sandbox_clk_probe,
        .priv_auto      = sizeof(struct sandbox_clk_priv),
index c3363796498b4db3664a5b3cea10da54161a06fb..790968e64774362d8967845b01b296c528326b99 100644 (file)
@@ -89,9 +89,8 @@ static int dm_test_clk(struct unit_test_state *uts)
                                                 SANDBOX_CLK_TEST_ID_SPI));
        ut_asserteq(0, sandbox_clk_test_get_rate(dev_test,
                                                 SANDBOX_CLK_TEST_ID_I2C));
-       if (!CONFIG_IS_ENABLED(CLK_AUTO_ID))
-               ut_asserteq(321, sandbox_clk_test_get_rate(dev_test,
-                                                          SANDBOX_CLK_TEST_ID_DEVM1));
+       ut_asserteq(321, sandbox_clk_test_get_rate(dev_test,
+                                                  SANDBOX_CLK_TEST_ID_DEVM1));
        ut_asserteq(0, sandbox_clk_test_get_rate(dev_test,
                                                 SANDBOX_CLK_TEST_ID_DEVM2));