Revert "clk: Return value calculated by ERR_PTR"

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 fe780310cf.

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>
This commit is contained in:
Tom Rini
2025-12-11 19:19:06 -06:00
parent 802fbe0a28
commit aff0f4d30e
4 changed files with 4 additions and 23 deletions

View 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];

View 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]);

View 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),

View 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));