aboutsummaryrefslogtreecommitdiff
path: root/cmd/clk.c
diff options
context:
space:
mode:
authorPatrick Delaunay2022-01-31 17:21:38 +0100
committerSean Anderson2022-02-25 01:41:04 -0500
commitafcc26140bc6bff7c23ce02dbba7882c97d2c14a (patch)
treed0397f532a3b2d7c90fbe83a60b8d3f6e36f69c1 /cmd/clk.c
parent3386fb1e485da7f206488ed206a61ae811885d90 (diff)
cmd: clk: replace clk_lookup by uclass_get_device_by_name
The function clk_lookup can be replaced by a direct call to uclass_get_device_by_name for UCLASS_CLK. This patch removes duplicated codes by the generic DM API and avoids issue in clk_lookup because result of uclass_get_device wasn't tested; when ret < 0, dev = NULL and dev->name is invalid, the next function call strcmp(name, dev->name) causes a crash. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Link: https://lore.kernel.org/r/20220131172131.2.I7bc7762eff1e31ab7ff5b34c416ee03b8fe52200@changeid
Diffstat (limited to 'cmd/clk.c')
-rw-r--r--cmd/clk.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/cmd/clk.c b/cmd/clk.c
index 52237791cf6..d615f14a84d 100644
--- a/cmd/clk.c
+++ b/cmd/clk.c
@@ -99,20 +99,6 @@ static int do_clk_dump(struct cmd_tbl *cmdtp, int flag, int argc,
}
#if CONFIG_IS_ENABLED(DM) && CONFIG_IS_ENABLED(CLK)
-struct udevice *clk_lookup(const char *name)
-{
- int i = 0;
- struct udevice *dev;
-
- do {
- uclass_get_device(UCLASS_CLK, i++, &dev);
- if (!strcmp(name, dev->name))
- return dev;
- } while (dev);
-
- return NULL;
-}
-
static int do_clk_setfreq(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[])
{
@@ -125,9 +111,7 @@ static int do_clk_setfreq(struct cmd_tbl *cmdtp, int flag, int argc,
freq = dectoul(argv[2], NULL);
- dev = clk_lookup(argv[1]);
-
- if (dev)
+ if (!uclass_get_device_by_name(UCLASS_CLK, argv[1], &dev))
clk = dev_get_clk_ptr(dev);
if (!clk) {