
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 lukma@denx.de Reviewed-by: Simon Glass sjg@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); }