aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Xiwen <forbidden405@outlook.com>2023-11-11 03:19:52 +0800
committerSean Anderson <seanga2@gmail.com>2023-12-15 12:31:15 -0500
commit09844d0de5550e7f91246031220074a80b5a821a (patch)
treee7394b5d86c8f4a6c1d2bff58d3cf56c4f88ff97
parent3ac22891cfc0dc6d8eec25d2b0fbdd2eb8f3d3ed (diff)
downloadu-boot-09844d0de5550e7f91246031220074a80b5a821a.zip
u-boot-09844d0de5550e7f91246031220074a80b5a821a.tar.gz
u-boot-09844d0de5550e7f91246031220074a80b5a821a.tar.bz2
clk: check parent_name in clk_register to avoid confusing log_error() output
For some gate clocks and fixed clocks without a parent, calling clk_register will print an useless error message indicating that parent is missing. Fix that by gaurding log_xxx() with an if-statement. Signed-off-by: Yang Xiwen <forbidden405@outlook.com> Suggested-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Sean Anderson <seanga2@gmail.com> Link: https://lore.kernel.org/r/20230807-clk-fix-v2-1-0b688e21fb4e@outlook.com
-rw-r--r--drivers/clk/clk.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index a5a3461..6ede1b4 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -18,17 +18,19 @@
int clk_register(struct clk *clk, const char *drv_name,
const char *name, const char *parent_name)
{
- struct udevice *parent;
+ struct udevice *parent = NULL;
struct driver *drv;
int ret;
- ret = uclass_get_device_by_name(UCLASS_CLK, parent_name, &parent);
- if (ret) {
- log_err("%s: failed to get %s device (parent of %s)\n",
- __func__, parent_name, name);
- } else {
- log_debug("%s: name: %s parent: %s [0x%p]\n", __func__, name,
- parent->name, parent);
+ if (parent_name) {
+ ret = uclass_get_device_by_name(UCLASS_CLK, parent_name, &parent);
+ if (ret) {
+ log_err("%s: failed to get %s device (parent of %s)\n",
+ __func__, parent_name, name);
+ } else {
+ log_debug("%s: name: %s parent: %s [0x%p]\n", __func__, name,
+ parent->name, parent);
+ }
}
drv = lists_driver_lookup_name(drv_name);