It may happen that some UCLASS_CLK clocks drivers work as a "managers",
to call other, proper clocks. This situation is present in the iMX{6|8}
clocks when supporting CONFIG_CLK (and CCF).

To avoid bogus output of "clk dump" we omit clocks which return error
value - allowing reusing default implementation of this command.

Signed-off-by: Lukasz Majewski <lu...@denx.de>
Reviewed-by: Simon Glass <s...@chromium.org>
---

Changes in v3: None

 cmd/clk.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/cmd/clk.c b/cmd/clk.c
index fd4231589c..2ea82176aa 100644
--- a/cmd/clk.c
+++ b/cmd/clk.c
@@ -16,6 +16,7 @@ int __weak soc_clk_dump(void)
        struct udevice *dev;
        struct uclass *uc;
        struct clk clk;
+       ulong rate;
        int ret;
 
        /* Device addresses start at 1 */
@@ -37,7 +38,9 @@ int __weak soc_clk_dump(void)
                        continue;
                }
 
-               printf("%-30.30s : %lu Hz\n", dev->name, clk_get_rate(&clk));
+               rate = clk_get_rate(&clk);
+               if (!IS_ERR_VALUE(rate))
+                       printf("%-30.30s : %lu Hz\n", dev->name, rate);
 
                clk_free(&clk);
        }
-- 
2.11.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to